Hash knjižnice za programerje C

Ta stran vsebuje zbirko knjižnic, ki vam bodo pomagale pri programiranju v C. Knjižnice so tukaj odprtokodne in se uporabljajo za shranjevanje podatkov, ne da bi bilo treba lastnega povezanega seznama itd.

Razvil Troy D. Hanson, katero koli strukturo C je mogoče shraniti v tabelo hash uthash. Vključite #include "uthash.h" in nato v strukturo dodajte UT_hash_handle in izberite eno ali več polj v svoji strukturi, da bodo delovali kot ključ. Nato uporabite HASH_ADD_INT, HASH_FIND_INT in makre za shranjevanje, pridobivanje ali brisanje elementov iz tabele hash. Uporablja int, string in binarne ključe.

Judy je knjižnica C, ki izvaja redko dinamično matriko. Judy nizi so razglašeni preprosto z ničelno kazalec in porabijo pomnilnik samo, ko so naseljeni. Po želji lahko rastejo in uporabljajo ves razpoložljivi pomnilnik. Ključne prednosti Judy so skalabilnost, visoke zmogljivosti in učinkovitost pomnilnika. Uporablja se lahko za matrike z dinamično velikostjo, asociativne matrike ali vmesnik, ki je preprost za uporabo, ki za razširitev ali krčenje ne potrebuje predelave in lahko nadomesti številne skupne strukture podatkov, kot so matriki, redki nizi, razpredelnice, B-drevesa, dvojiška drevesa, linearni seznami, preskoki, drugi algoritmi za razvrščanje in iskanje ter štetje funkcije.

instagram viewer

SGLIB je kratka za Simple Generic Library in je sestavljena iz ene same glave datoteke sglib.h, ki zagotavlja splošno izvedbo najpogostejših algoritmov za matrike, sezname, razvrščene sezname in rdeče-črna drevesa. Knjižnica je splošna in ne definira lastnih podatkovnih struktur. Namesto tega deluje na obstoječe uporabniško definirane podatkovne strukture prek splošnega vmesnika. Prav tako ne dodeli ali ne dodeli nobenega pomnilnika in ni odvisen od določenega upravljanja pomnilnika.

Vsi algoritmi se izvajajo v obliki makrov, ki so parametrirani po vrsti strukture podatkov in primerjalni funkciji (ali primerjalni makro). Za nekatere algoritme in podatkovne strukture bo morda potrebnih več splošnih parametrov, kot je ime polja „Naslednje“ za povezane sezname.

instagram story viewer