Hash könyvtárak a C programozók számára

Ezen az oldalon a könyvtárak gyűjteménye található, amely segít a C programozásában. Az itt található könyvtárak nyílt forráskódúak, és segítenek az adatok tárolásában, anélkül hogy össze kellene hozniuk a saját csatolt listájukat stb. Adatszerkezeteket.

Fejlesztette ki D. Troy Hanson, bármilyen C struktúra tárolható hash táblában a uthash. Csak írja be a #include "uthash.h" elemet, majd adjon hozzá egy UT_hash_handle-t a struktúrához, és válasszon egy vagy több mezőt a struktúrában, hogy kulcsszóként működjön. Ezután a HASH_ADD_INT, HASH_FIND_INT és makrók segítségével tárolja, töltse le vagy törölje az elemeket a hash táblából. Int, string és bináris gombokat használ.

Judit egy C könyvtár, amely ritka dinamikus tömböt valósít meg. Judit tömbök egyszerűen nullával jelennek meg mutató és csak akkor laknak memóriát. Növekedhetnek, ha igénybe veszik az összes rendelkezésre álló memóriát. Judy legfontosabb előnyei a méretezhetőség, a nagy teljesítmény és a memória hatékonysága. Dinamikusan méretezett tömbökhöz, asszociatív tömbökhöz vagy egy egyszerűen használható felülethez használható, amely nem igényel átdolgozást a kiterjesztésnél vagy összehúzódásnál, és sok általános adatszerkezetek, például tömbök, ritka tömbök, kivonat táblák, B-fák, bináris fák, lineáris listák, átugrási listák, egyéb rendezési és keresési algoritmusok, és a számolás funkciókat.

instagram viewer

SGLIB rövidítése az Simple Generic Library könyvtárnak, és egyetlen sglib.h fejlécfájlból áll, amely tömbök, listák, rendezett listák és vörös-fekete fák általános algoritmusainak általános megvalósítását biztosítja. A könyvtár általános, és nem határozza meg a saját adatstruktúráját. Inkább egy általános interfészen keresztül működik a meglévő felhasználó által definiált adatstruktúrákon. Ezenkívül semmiféle memóriát nem foglal le vagy oszt le, és nem függ a memóriakezeléstől.

Minden algoritmust makrók formájában valósítunk meg, amelyeket az adatszerkezet típusa és az összehasonlító funkció (vagy az összehasonlító makró) paraméterez. Bizonyos algoritmusokhoz és adatstruktúrákhoz szükség lehet további általános paraméterekre, például a kapcsolt listák „következő” mezőjére.