Hash-biblioteker til C-programmerere

click fraud protection

Denne side viser en samling biblioteker, der kan hjælpe dig med programmering i C. Biblioteker her er open source og bruges til at hjælpe dig med at gemme data uden at skulle rulle din egen linkede liste osv. Datastrukturer.

Udviklet af Troy D. Hanson, enhver C-struktur kan gemmes i en hash-tabel ved hjælp af uthash. Inkluder bare #include "uthash.h", tilføj derefter en UT_hash_handle til strukturen og vælg et eller flere felter i din struktur for at fungere som nøglen. Brug derefter HASH_ADD_INT, HASH_FIND_INT og makroer til at gemme, hente eller slette elementer fra hashtabellen. Det bruger int, streng og binære nøgler.

Judy er et C-bibliotek, der implementerer en sparsom dynamisk matrix. Judy arrays erklæres simpelthen med et nul pointer og forbruger kun hukommelse, når den er befolket. De kan vokse til at bruge al tilgængelig hukommelse, hvis det ønskes. Judys vigtigste fordele er skalerbarhed, høj ydeevne og hukommelseseffektivitet. Det kan bruges til matriser med dynamisk størrelse, associerende arrays eller et interface, der er let at bruge, og som ikke kræver nogen omarbejdning til udvidelse eller sammentrækning og kan erstatte mange almindelige datastrukturer, såsom arrays, sparse arrays, hash-tabeller, B-træer, binære træer, lineære lister, skiplister, anden sorterings- og søgealgoritmer og tælling funktioner.

instagram viewer

SGLIB er forkortelse til Simple Generic Library og består af en enkelt oversigtsfil sglib.h, der giver generisk implementering af de mest almindelige algoritmer til arrays, lister, sorterede lister og rød-sorte træer. Biblioteket er generisk, og det definerer ikke sine egne datastrukturer. Det virker snarere på eksisterende brugerdefinerede datastrukturer via en generisk interface. Det tildeler heller ikke nogen hukommelse eller omfordeler den og afhænger ikke af nogen bestemt hukommelsesstyring.

Alle algoritmer implementeres i form af makroer, der er parametriseret efter typen af ​​datastruktur og komparatorfunktion (eller komparatormakro). Adskillige yderligere generiske parametre, såsom navnet på 'næste' felt for tilknyttede lister, kan være påkrævet for nogle algoritmer og datastrukturer.

instagram story viewer