Estoy buscando una biblioteca C con estructuras de datos reutilizables comunes como listas enlazadas, tablas hash, etc. Algo como la fuente distribuida con Mastering Algorithms with C (Paperback) por Kyle Loudon .
c
data-structures
Vasil
fuente
fuente
Respuestas:
BSD queue.h tiene:
BSD tree.h tiene:
Consulte las páginas de comando man queue (3) y tree (3) para obtener más detalles. Realmente me gustan porque son macros C puras sin dependencias (ni siquiera libc). Además, con la licencia BSD, no tiene que preocuparse por las restricciones de la empresa con GPL.
fuente
Gnome proporciona una biblioteca excelente para esto, llamada Glib , con muchas estructuras de datos útiles y otras utilidades también.
fuente
gnulib , la biblioteca de portabilidad de GNU .
Se distribuye como código fuente. Esta lista es de su lista de módulos , que incluye TONELADAS de otras cosas. Uno interesante es "c-stack: manejo de desbordamiento de pila, lo que provoca la salida del programa".
fuente
SGLIB es una excelente biblioteca genérica de estructuras de datos. La biblioteca actualmente proporciona implementaciones genéricas para:
ordenar matrices
listas
vinculadas listas vinculadas ordenadas listas
vinculadas dobles
árboles rojo-negro
contenedores hash
Es muy rápido, más rápido que simplista. Está inspirado en la biblioteca de plantillas estándar. Descarga aquí
Otra solución es el software Atractivo Caos . Biblioteca de macros de C:
kbtree.h: biblioteca de árbol B eficiente en C.
khash.h: biblioteca de tabla hash rápida y ponderada en C.
kvec.h: contenedor de vector simple en C.
El software Sglib y Handsome Chaos son bibliotecas de macros C. Usar void * para implementar contenedores genéricos en C puede ser ineficiente. Las macros de C imitan la plantilla de C ++ y son tan eficientes como la plantilla de C ++
fuente
La biblioteca GDSL podría ser una buena cosa a considerar:
http://home.gna.org/gdsl/
fuente
El tiempo de ejecución portátil de Apache.
fuente
CLIB
fuente
Herramientas de software de AT&T .
fuente