uthash is 'n hash vir C strukture, sodat enige C struktuur met 'n unieke sleutel veld hashed word.
Strukture kan verwyder word, bygevoeg of verwyder word van die hash in konstante tyd. Die sleutel veld kan enige data tipe.
Voorbeeld 1. Die toevoeging van 'n item na 'n hash.
include "uthash.h"
struct my_struct {
int id; / * Sleutel * /
char naam [10];
UT_hash_handle hh; / * Maak hierdie struktuur hashable * /
};
struct my_struct * gebruikers = NULL;
leemte add_user (struct my_struct * s) {
HASH_ADD_INT (gebruikers, id, s); / * Hash, sleutel veld naam, item * /
}
Voorbeeld 2. Soek 'n item in 'n gemors.
struct my_struct * find_user (int USER_ID) {
struct my_struct * s;
HASH_FIND_INT (gebruikers, s, id, & USER_ID);
terugkeer s;
}
Voorbeeld 1. Verwyder 'n item uit 'n gemors.
leemte delete_user (struct my_struct * gebruiker) {
HASH_DEL (gebruikers, gebruikers); / * Hash, wyser na deletee * /
}
Wat is nuut in hierdie release:
- 'n aantal klein verbeterings is gemaak aan die aanvullende utilities ingesluit met uthash, insluitend nuwe lys bedrywighede (plaas jou, vervang, en ondersteuning vir strukture wat gebruik verskillende benoemings konvensies), nuwe dinamiese string funksies (KMP substring soek, formaat te kontroleer), verenigbaarheid verbeterings, en verbeterde dokumentasie.
Wat is nuut in die weergawe 1.9.4:
- Hierdie weergawe sluit ondersteuning vir MurmurHash v3, nuwe utlist aaneenskakeling makros, utarray binêre soek, nuwe utstring funksies, nuwe dokumentasie en bugfixes.
Wat is nuut in die weergawe 1.9.3:
- los 'n ifdef vir verenigbaarheid met Intel samesteller (dankie , degski!)
- fix HASH_ITER makro C te bevredig ++ beslissende reëls (dankie, Erik Bai!)
Wat is nuut in die weergawe 1.8:
- Hierdie weergawe sluit 'n nuwe lewe analise nut (vir Linux) die grootte en gehalte van hash tabelle om navraag in 'n lopende proses.
- Ook ingesluit is ondersteuning vir Bloom filters wat kan bespoedig mis, re-insluiting van die MurmurHash hash funksie, en fixes die metgesel gekoppel list header.
Wat is nuut in die weergawe 1.7:
- Dit is 'n onderhoud vrylating. Die Murmurhash is nie meer ondersteun, want dit vereis -fno-streng-aliasing te word veilig onder gcc gebruik. Ook reggestel 'n probleem met utlist so dit neem die streng aliasing reël en optree behoorlik onder O2 en O3.
Wat is nuut in die weergawe 1.6:
- Weergawe 1.6 van uthash sluit nuwe hash funksies, nuwe HASH_CLEAR en HASH_SELECT bedrywighede, en 'n hulp gekoppel list header utlist.h
Wat is die nuwe in weergawe 1.5:
- Hierdie vrystelling ondersteun draad-veilige konkurrente lesers en gee sowat 13 % vinniger HASH_FIND prestasie.
Wat is nuut in die weergawe 1.4:
- Hierdie vrystelling beskik C ++ verenigbaarheid, 'n API vir die verkryging van die item tel, groter geheue doeltreffendheid, en skoon pedanties samestelling.
Kommentaar nie gevind