Я ищу библиотеку C с общими структурами данных многократного использования, такими как связанные списки, хеш-таблицы и т. Д. Что-то вроде источника, распространяемого с помощью алгоритмов освоения с C (мягкая обложка) от Кайла Лаудона .
Я ищу библиотеку C с общими структурами данных многократного использования, такими как связанные списки, хеш-таблицы и т. Д. Что-то вроде источника, распространяемого с помощью алгоритмов освоения с C (мягкая обложка) от Кайла Лаудона .
Ответы:
BSD queue.h имеет:
BSD tree.h имеет:
См. Подробности в справочных страницах queue (3) и tree (3) . Мне они очень нравятся, потому что это чистые макросы C без зависимостей (даже не libc). Кроме того, с лицензией BSD вам не нужно беспокоиться о каких-либо ограничениях компании с GPL.
gnulib , библиотека переносимости GNU .
Он распространяется как исходный код. Этот список взят из его списка модулей , который включает в себя ТОННУ других вещей. Один интересный - «c-stack: обработка переполнения стека, вызывающая выход из программы».
SGLIB - отличная библиотека общих структур данных. В настоящее время библиотека предоставляет общие реализации для:
сортировки массивов,
связанных списков,
сортированных связанных списков,
двойных связанных списков,
красно-черных деревьев,
хешированных контейнеров.
Это очень быстро, быстрее, чем бойко. Он вдохновлен стандартной библиотекой шаблонов. Скачать здесь
Еще одно решение - программа «Привлекательный хаос» . Библиотека макросов C:
kbtree.h: эффективная библиотека B-дерева в C.
khash.h: быстрая и легкая библиотека хеш-таблиц в C.
kvec.h: простой контейнер векторов в C.
Программное обеспечение Sglib и Привлекательный Хаос - это библиотека макросов C. Использование void * для реализации универсальных контейнеров в C может быть неэффективным. Макросы C имитируют шаблон C ++ и столь же эффективны, как и шаблон C ++
Библиотека GDSL может быть хорошей идеей:
Программные инструменты AT&T .