Я шукаю бібліотеку С із поширеними структурами даних для багаторазового використання, як-от зв'язані списки, хеш-таблиці тощо. Щось на зразок джерела, розповсюдженого з Mastering Algorithms with C (Paperback) від Kyle Loudon .
Я шукаю бібліотеку С із поширеними структурами даних для багаторазового використання, як-от зв'язані списки, хеш-таблиці тощо. Щось на зразок джерела, розповсюдженого з Mastering Algorithms with C (Paperback) від Kyle Loudon .
Відповіді:
BSD queue.h має:
BSD tree.h має:
Докладні відомості див. У черзі (3) та дереві (3) . Мені вони дуже подобаються, бо вони чисті макроси C без залежностей (навіть не libc). Крім того, з ліцензією BSD вам не доведеться турбуватися про будь-які обмеження компанії з / у GPL.
gnulib , бібліотека портативності gnu.
Він поширюється як вихідний код. Цей список є зі списку його модулів , який включає TON інших речей. Один цікавий - "c-stack: обробка переповнення стека, що викликає вихід програми".
SGLIB - це відмінна загальна бібліотека структур даних. На даний момент бібліотека пропонує загальні реалізації для:
сортування масивів
зв'язаних списків,
відсортованих зв'язаних списків
подвійних зв'язаних списків
червоно-чорних дерев
хешованих контейнерів
Це дуже швидко, швидше, ніж гліб. Він натхненний бібліотекою стандартних шаблонів Завантажте тут
Ще одне рішення - привабливе програмне забезпечення Chaos . C бібліотека макросів:
kbtree.h: ефективна бібліотека B-дерев у C.
khash.h: бібліотека швидких та легких зважених хеш-таблиць у C.
kvec.h: простий векторний контейнер у C.
Програмне забезпечення Sglib і привабливий хаос - це бібліотека макросів C. Використання void * для реалізації загальних контейнерів на C може бути неефективним. C макроси імітують шаблон C ++ і настільки ж ефективні, як і шаблон C ++
Бібліотека GDSL може бути непоганою справою:
Програмні засоби AT&T .