什么可以存储在C中的哈希表桶中

时间:2014-02-04 15:46:40

标签: c hashtable

我是哈希的新手,所以我想知道我是否有类似下面的结构,并且我使用哈希函数来键入值,我如何将第三个元素号存储到哈希表中?

我在github上发现了许多带有键/值的实现,但我很困惑如何存储另一个值,它可能不会被密钥散列,只需要存储它。

struct my_struct
{

int key;

char value[512];

int number;

};

1 个答案:

答案 0 :(得分:1)

典型的散列表实现具有要存储在散列表中的结构的“表”(数组)。像这样的东西

struct my_struct hash_table[SOME_SIZE];

然后计算密钥并将其存储在数组中的key % SOME_SIZE位置。结构中的额外数据照常填充。

为了避免冲突,表中的每个条目实际上都是一个链表,因此存储在表中相同位置的多个键是列表中的一个节点。