Estou procurando uma biblioteca C com estruturas de dados reutilizáveis comuns, como listas vinculadas, tabelas de hash etc. Algo como a fonte distribuída com Mastering Algorithms with C (Paperback) por Kyle Loudon .
c
data-structures
Vasil
fonte
fonte
Respostas:
O arquivo BSD queue.h tem:
BSD tree.h tem:
Consulte as páginas do manual queue (3) e tree (3) para obter detalhes. Eu realmente gosto deles porque são macros C puras sem dependências (nem mesmo libc). Além disso, com a licença BSD, você não precisa se preocupar com as restrições da empresa com GPL.
fonte
O Gnome fornece uma excelente biblioteca para isso, chamada Glib , com muitas estruturas de dados úteis e outros utilitários também.
fonte
gnulib , a biblioteca de portabilidade gnu.
É distribuído como código-fonte. Esta lista é de sua lista de módulos , que inclui uma tonelada de outras coisas. Um interessante é "c-stack: manipulação de estouro de pilha, causando saída do programa."
fonte
SGLIB é uma excelente biblioteca genérica de estruturas de dados. A biblioteca atualmente fornece implementações genéricas para:
ordenar matrizes
listas
vinculadas ordenadas listas vinculadas listas
duplas vinculadas
árvores vermelho-preto
contêineres com hash
É muito rápido, mais rápido do que loquaz. É inspirado na Biblioteca de modelos padrão. Baixe aqui
Outra solução é o software Attractive Chaos . Biblioteca de macros C:
kbtree.h : biblioteca eficiente de árvore B em C.
khash.h: biblioteca de tabela hash rápida e leve em C.
kvec.h: contêiner de vetor simples em C.
Os softwares Sglib e Attractive Chaos são uma biblioteca de macros C. Usar void * para implementar contêineres genéricos em C pode ser ineficiente. As macros C imitam o modelo C ++ e são tão eficientes quanto o modelo C ++
fonte
A Biblioteca GDSL pode ser uma boa coisa a se considerar:
http://home.gna.org/gdsl/
fonte
O Apache Portable Runtime.
fonte
CLIB
fonte
Ferramentas de software da AT&T .
fonte