ฉันกำลังมองหาห้องสมุด C ที่มีโครงสร้างข้อมูลที่นำมาใช้ใหม่ที่เหมือนกันเช่นเชื่อมโยงรายการตารางกัญชา ฯลฯ สิ่งที่ต้องการแหล่งกระจายกับนายอัลกอริทึมด้วย C (ปกอ่อน) โดยไคล์เลา
ฉันกำลังมองหาห้องสมุด C ที่มีโครงสร้างข้อมูลที่นำมาใช้ใหม่ที่เหมือนกันเช่นเชื่อมโยงรายการตารางกัญชา ฯลฯ สิ่งที่ต้องการแหล่งกระจายกับนายอัลกอริทึมด้วย C (ปกอ่อน) โดยไคล์เลา
คำตอบ:
BSD que.hมี:
BSD tree.hมี:
ดูคิว (3)และต้นไม้ (3)หน้าคนสำหรับรายละเอียด ฉันชอบพวกเขามากเพราะเป็นมาโคร C ที่บริสุทธิ์โดยไม่ต้องพึ่งพา (ไม่ใช่แม้แต่ libc) นอกจากนี้ด้วยใบอนุญาต BSD คุณไม่ต้องกังวลเกี่ยวกับข้อ จำกัด ของ บริษัท ใด ๆ ที่มี GPL
Gnome มีไลบรารีที่ยอดเยี่ยมสำหรับสิ่งนี้เรียกว่าGlibพร้อมโครงสร้างข้อมูลที่มีประโยชน์มากมายและยูทิลิตี้อื่น ๆ เช่นกัน
gnulibไลบรารีพกพา gnu
แจกจ่ายเป็นซอร์สโค้ด รายการนี้มาจากรายการโมดูลซึ่งรวมถึงสิ่งอื่น ๆ จำนวนมาก สิ่งหนึ่งที่น่าสนใจคือ "c-stack: การจัดการกับ Stack ล้นทำให้โปรแกรมออก"
SGLIBเป็นไลบรารีโครงสร้างข้อมูลทั่วไปที่ยอดเยี่ยม ปัจจุบันไลบรารีมีการใช้งานทั่วไปสำหรับ:
การเรียงลำดับอาร์เรย์
รายการที่
เชื่อมโยงรายการที่เชื่อมโยงที่เรียงลำดับรายการที่
เชื่อมโยงสองครั้ง
ต้นไม้สีแดงดำที่
แฮชคอนเทนเนอร์
เร็วมากเร็วกว่ากะล่อน ได้รับแรงบันดาลใจจากไลบรารีเทมเพลตมาตรฐาน ดาวน์โหลดที่นี่
ทางออกก็คือซอฟแวร์ความโกลาหลที่น่าสนใจ ไลบรารีมาโคร C:
kbtree.h : ไลบรารีB-tree ที่มีประสิทธิภาพใน C.
khash.h: ไลบรารีตารางแฮชที่รวดเร็วและน้ำหนักเบาใน C.
kvec.h: คอนเทนเนอร์เวกเตอร์อย่างง่ายใน C.
ซอฟต์แวร์ Sglib และ Attractive Chaos คือไลบรารีมาโคร C การใช้ void * เพื่อใช้งานคอนเทนเนอร์ทั่วไปใน C อาจไม่มีประสิทธิภาพ มาโคร C เลียนแบบเทมเพลต C ++ และมีประสิทธิภาพเทียบเท่ากับเทมเพลต C ++
GDSL Library อาจเป็นสิ่งที่ดีที่ควรพิจารณา: