Jauktas bibliotēkas C programmētājiem

Šajā lapā ir saraksts ar bibliotēku kolekciju, kas jums palīdzēs programmēšanā C valodā. Bibliotēkas šeit ir atvērtā koda un tiek izmantotas, lai palīdzētu jums saglabāt datus, neveicot savu saistīto sarakstu utt. Datu struktūru izveidošanu.

Izstrādāja Trojs D. Hansons, jebkuru C struktūru var uzglabāt hash tabulā, izmantojot uthash. Vienkārši iekļaujiet #include "uthash.h", pēc tam pievienojiet UT_hash_handle struktūrai un izvēlieties vienu vai vairākus laukus struktūrā, lai darbotos kā atslēga. Pēc tam izmantojiet HASH_ADD_INT, HASH_FIND_INT un makro, lai saglabātu, izgūtu vai izdzēstu vienumus no hash tabulas. Tas izmanto int, virknes un bināros taustiņus.

Džūdija ir C bibliotēka, kas realizē nelielu dinamisko masīvu. Džūdija masīvi tiek deklarēti vienkārši ar nulli rādītājs un patērē atmiņu tikai tad, ja ir apdzīvots. Tie var pieaugt, lai izmantotu visu pieejamo atmiņu, ja vēlaties. Judy galvenās priekšrocības ir mērogojamība, augsta veiktspēja un atmiņas efektivitāte. To var izmantot dinamiski izmēru masīvos, asociatīvos masīvos vai vienkārši lietojamā saskarnē, kurai nav nepieciešama pārveidošana paplašināšanai vai saraušanai, un tā var aizstāt daudzus parastās datu struktūras, piemēram, masīvi, reti masīvi, jaukumu tabulas, B koki, binārie koki, lineārie saraksti, izlaišanas saraksti, citi kārtošanas un meklēšanas algoritmi un skaitīšana funkcijas.

instagram viewer

SGLIB ir saīsinājums no vienkāršās vispārējās bibliotēkas un sastāv no viena galvenes faila sglib.h, kas nodrošina masīvu, sarakstu, sakārtoto sarakstu un sarkan melno koku visbiežāk izmantoto algoritmu vispārīgu ieviešanu. Bibliotēka ir vispārīga, un tā nenosaka pati savas datu struktūras. Drīzāk tas darbojas uz esošajām lietotāja definētajām datu struktūrām, izmantojot vispārēju saskarni. Tas arī nepiešķir un neatdala nevienu atmiņu un nav atkarīgs no konkrētas atmiņas pārvaldības.

Visi algoritmi tiek ieviesti makro formā, ko parametrizē pēc datu struktūras veida un salīdzināšanas funkcijas (vai salīdzināšanas makro). Dažiem algoritmiem un datu struktūrām var būt nepieciešami vairāki citi vispārīgi parametri, piemēram, saistītā saraksta lauka “nākamais” nosaukums.