Sto cercando una libreria C con strutture di dati riutilizzabili comuni come elenchi concatenati, tabelle hash, ecc. Qualcosa come l'origine distribuita con Mastering Algorithms with C (Paperback) by Kyle Loudon.Esistono librerie C open source con strutture dati comuni?
risposta
Gnome fornisce una libreria eccellente per questo, denominata Glib, con molte strutture dati utili e altre utilità pure.
gnulib, la libreria di portabilità di gnu.
È distribuito come codice sorgente. Questo elenco è dal suo module list, che include un TON di altre cose. Uno interessante è "c-stack: gestione dello straripamento dello stack, che causa l'uscita dal programma."
- lista
- array-list
- CArray-list
- liste concatenate
- avltree-list
- rbtree-list
- linkedhash-list
- avltreehash-list
- rbtreehash-list
- sottolista (tipo di dati elenco sequenziale supportato da un altro elenco.)
- oset (Abstract insieme ordinato)
- array-oset
- avltree-oset
- rbtree-oset
BSD queue.h ha:. Lista
- SLIST = singolarmente concatenata
- LISTA = lista doppiamente collegata
- SIMPLEQ = singolarmente legata coda
- TAILQ = doppiamente legata coda
BSD tree.h ha:
- RB - albero rosso-nero
- SUALIZZA - splay albero
See le pagine man queue(3) e tree(3) per i dettagli. Mi piacciono molto perché sono puri macro C senza dipendenze (nemmeno libc). Inoltre con la licenza BSD non ti devi preoccupare delle restrizioni aziendali con GPL.
SGLIB è un'eccellente libreria di strutture dati generiche.La biblioteca attualmente fornisce le implementazioni generiche per:
ordinamento array
liste collegate
elenchi ordinati legati
doppie liste collegate
alberi rosso-neri
contenitori hash
E 'molto veloce, più veloce di glib. È ispirato alla libreria di modelli standard. Download Here
Un'altra soluzione è Attractive Chaos software. C macro libreria:
kbtree.h: efficiente libreria B-tree in C.
khash.h: veloce e biblioteca tavolo luminoso ponderata hash in C.
kvec.h: semplice contenitore vettore in C.
Il software Sglib e Attractive Chaos è una libreria di macro C. L'utilizzo di void * per implementare contenitori generici in C può essere inefficiente. Le macro C imitano il modello C++ e sono efficienti quanto il modello C++
Nizza puntatori - che non avevo mai sentito parlare di SGLIB prima . –
Il collegamento "download" per il progetto SGLIB è interrotto. Sembra come andare defunto ...:/ –
@ luis.espinal Può ancora essere scaricato da http://freecode.com/projects/sglib – Rob
AT & T software tools.
Il GDSL biblioteca potrebbe essere una buona cosa da considerare:
- 1. Algoritmi C# Open Source consigliati e librerie di strutture dati
- 2. Esistono librerie di memoria temporale gerarchica open source?
- 3. Esistono alcune librerie CAD open source in Java?
- 4. Esistono librerie di gesti open source in Android?
- 5. Esistono librerie di fisica crossplatform open source, hardware con binding C++?
- 6. Librerie di componenti JavaFX 2.0 open source
- 7. Esistono punch-through NAT multipiattaforma open source?
- 8. Librerie matematiche per motori di gioco Open Source C++?
- 9. Grandi applicazioni/librerie Java Open Source
- 10. Librerie di ottimizzazione dell'immagine open source Java
- 11. Esistono strutture Web Objective-C?
- 12. Elenco di query SQL comuni per database Open Source?
- 13. Librerie per strutture dati rigide in Haskell
- 14. Ideatorrent open source alternative
- 15. Esistono alternative open-source a ReplayDIRECTOR/Chronon Debugger?
- 16. Esistono browser Web open source implementati in Ruby?
- 17. Interprete PostScript open source
- 18. Esistono implementazioni (preferibilmente open source) del modello "Society of Mind"
- 19. Android - ultime librerie 3d open source per android
- 20. Forum Open-Source con API
- 21. librerie open source per la progettazione indirizzati grafici
- 22. C: allineamento strutture dati
- 23. Open source o programmi/librerie di analisi finanziarie gratuite
- 24. Motore audio Open Source
- 25. Quali librerie C o C++ open source possono convertire da UTF-32 a NFC arbitrario?
- 26. Mappe frattali open source
- 27. Profilatori Open Source consigliati
- 28. Applicazioni open source per iPad
- 29. Il compilatore C# è open source?
- 30. Esistono framework/librerie P2P mature in C#?
Vedi http://stackoverflow.com/questions/649649/any-library-for-generic-datatypes-in-c/649673#649673 – qrdl