Biblioteki mieszające dla programistów C.

click fraud protection

Ta strona zawiera listę bibliotek, które pomogą ci w programowaniu w C. Biblioteki tutaj są open source i służą do przechowywania danych, bez konieczności tworzenia własnych struktur powiązanych list itp.

Opracowany przez Troy D. Hanson, dowolna struktura C może być przechowywana w tablicy mieszającej za pomocą uthash. Wystarczy dołączyć #include „uthash.h”, a następnie dodać UT_hash_handle do struktury i wybrać jedno lub więcej pól w swojej strukturze, które będą działać jako klucz. Następnie użyj HASH_ADD_INT, HASH_FIND_INT i makr do przechowywania, pobierania lub usuwania elementów z tabeli skrótów. Wykorzystuje klucze int, string i binarne.

Judy jest biblioteką C, która implementuje rzadką tablicę dynamiczną. Judy tablice są zadeklarowane po prostu jako zero wskaźnik i zużywają pamięć tylko po zapełnieniu. Mogą rosnąć, aby w razie potrzeby wykorzystać całą dostępną pamięć. Główne zalety Judy to skalowalność, wysoka wydajność i wydajność pamięci. Można go używać do tablic o dynamicznych rozmiarach, tablic asocjacyjnych lub prostego w obsłudze interfejsu, który nie wymaga przeróbek w celu rozszerzenia lub zmniejszenia i może zastąpić wiele wspólne struktury danych, takie jak tablice, rzadkie tablice, tabele skrótów, B-drzewa, drzewa binarne, listy liniowe, listy skiplists, inne algorytmy sortowania i wyszukiwania oraz liczenie Funkcje.

instagram viewer

SGLIB jest skrótem od Simple Generic Library i składa się z jednego pliku nagłówka sglib.h, który zapewnia ogólną implementację najpopularniejszych algorytmów dla tablic, list, list posortowanych i drzew czerwono-czarnych. Biblioteka jest ogólna i nie definiuje własnych struktur danych. Raczej działa na istniejące struktury danych zdefiniowane przez użytkownika za pośrednictwem interfejsu ogólnego. Nie alokuje ani nie zwalnia żadnej pamięci i nie zależy od konkretnego zarządzania pamięcią.

Wszystkie algorytmy są implementowane w postaci makr parametryzowanych według rodzaju struktury danych i funkcji komparatora (lub makra komparatora). W przypadku niektórych algorytmów i struktur danych może być wymaganych kilka innych ogólnych parametrów, takich jak nazwa pola „next” dla połączonych list.

instagram story viewer