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 .
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 .
Respostas:
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.
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."
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 ++
A Biblioteca GDSL pode ser uma boa coisa a se considerar:
Ferramentas de software da AT&T .