Hašovacie knižnice pre programátorov C.

Táto stránka obsahuje zoznam knižníc, ktoré vám pomôžu pri programovaní v jazyku C. Knižnice sú open source a používajú sa na ukladanie údajov bez toho, aby ste museli ukladať svoj vlastný prepojený zoznam atď.

Vyvinul Troy D. Hanson, akákoľvek štruktúra C sa môže uložiť do hašovacej tabuľky pomocou uthash. Stačí zahrnúť #include "uthash.h", potom do štruktúry pridajte UT_hash_handle a vyberte jedno alebo viac polí vo svojej štruktúre, ktorá bude slúžiť ako kľúč. Potom pomocou HASH_ADD_INT, HASH_FIND_INT a makier uložte, získajte alebo odstráňte položky z tabuľky hash. Používa int, string a binárne kľúče.

jitka je knižnica C, ktorá implementuje riedke dynamické pole. jitka polí sú deklarované jednoducho nulovou hodnotou ukazovateľ a zaberajú pamäť iba v prípade, že sú obsadené. V prípade potreby môžu rásť a využívať všetku dostupnú pamäť. Medzi hlavné výhody Judy patrí škálovateľnosť, vysoký výkon a efektívnosť pamäte. Môže byť použitý pre dynamicky veľké polia, asociatívne polia alebo ľahko použiteľné rozhranie, ktoré nevyžaduje žiadne prepracovanie pre rozšírenie alebo kontrakciu a môže nahradiť mnoho bežné dátové štruktúry, ako sú polia, riedke polia, hashovacie tabuľky, B-stromy, binárne stromy, lineárne zoznamy, skiplists, iné algoritmy triedenia a vyhľadávania a počítanie funkcie.

instagram viewer

SGLIB je skratka pre Simple Generic Library a pozostáva z jedného súboru záhlavia sglib.h, ktorý poskytuje všeobecnú implementáciu najbežnejších algoritmov pre polia, zoznamy, triedené zoznamy a červeno-čierne stromy. Knižnica je všeobecná a nedefinuje svoje vlastné dátové štruktúry. Skôr pôsobí na existujúce užívateľom definované dátové štruktúry prostredníctvom generického rozhrania. Taktiež neprideľuje ani neprideľuje žiadnu pamäť a nezávisí od žiadnej konkrétnej správy pamäte.

Všetky algoritmy sú implementované vo forme makier parametrizovaných podľa typu dátovej štruktúry a porovnávacej funkcie (alebo porovnávacieho makra). Niektoré algoritmy a dátové štruktúry môžu vyžadovať niekoľko ďalších všeobecných parametrov, ako napríklad názov „nasledujúceho“ poľa pre prepojené zoznamy.