Предположим, что HashEntry - это структура, которая имеет указатель на список (заголовок). Bucket of HashTable содержит указатель на Bucket Entries (массив записей). Структура Bucket Entry имеет ключ char *.
struct BucketEntry{
char* key;
//irrelevant data
};
struct Bucket{
BucketEntry* entries;
struct Bucket* next;
int counter; // counts how keys are in.
};
struct HashEntry{
struct Bucket* head;
};
Таблица ha sh представляет собой указатель типа HashEntry * на массив записей, а заголовки инициализируются в NULL
struct HashEntry* table = malloc(buckets*sizeof(struct HashEntry));
for(i = 0; i < buckets; i++){
table[i].head = NULL;
}
После что, я создаю ведро, подобное этому, и назначаю его правильному ha sh ceil:
struct Bucket* bucket = malloc(sizeof( struct Bucket));
table[hash].head = bucket;
Как правильно распределить массив записей в ведре кванта x ? После распределения, как правильно назначить его в нужное ведро & Ha sh ceil?
Спасибо и извините за мой engli sh.