Je recherche une bibliothèque C avec des structures de données réutilisables communes comme des listes liées, des tables de hachage, etc. Quelque chose comme la source distribuée avec Mastering Algorithms with C (Paperback) by Kyle Loudon .
BSD queue.h a:
BSD tree.h a:
Consultez les pages de manuel queue (3) et tree (3) pour plus de détails. Je les aime vraiment car ce sont de pures macros C sans dépendances (pas même libc). De plus, avec la licence BSD, vous n'avez pas à vous soucier des restrictions de l'entreprise avec GPL.
Gnome fournit une excellente bibliothèque pour cela, appelée Glib , avec de nombreuses structures de données utiles et d'autres utilitaires également.
gnulib , la bibliothèque de portabilité gnu.
Il est distribué en tant que code source. Cette liste provient de sa liste de modules , qui comprend une tonne d'autres choses. Un exemple intéressant est "c-stack: gestion des dépassements de pile, provoquant la sortie du programme".
SGLIB est une excellente bibliothèque générique de structures de données. La bibliothèque fournit actuellement des implémentations génériques pour:
tableaux de tri
listes liées
listes de liens triées
double listes chaînées
arbres rouge-noir
conteneurs hachés
C'est très rapide, plus rapide que glib. Il est inspiré de la bibliothèque de modèles standard. Télécharger ici
Une autre solution est logiciel Attractive Chaos . Bibliothèque de macros C:
kbtree.h: bibliothèque d'arborescence B efficace en C.
khash.h: bibliothèque de tables de hachage rapide et légère en C.
kvec.h: simple conteneur vectoriel en C.
Les logiciels Sglib et Attractive Chaos sont une bibliothèque de macros C. L'utilisation de void * pour implémenter des conteneurs génériques en C peut être inefficace. Les macros C imitent le modèle C++ et sont aussi efficaces que le modèle C++
La bibliothèque GDSL peut être une bonne chose à considérer:
Le runtime portable Apache.