我是哈希的新手,所以我想知道我是否有类似下面的结构,并且我使用哈希函数来键入值,我如何将第三个元素号存储到哈希表中?
我在github上发现了许多带有键/值的实现,但我很困惑如何存储另一个值,它可能不会被密钥散列,只需要存储它。
struct my_struct
{
int key;
char value[512];
int number;
};
答案 0 :(得分:1)
典型的散列表实现具有要存储在散列表中的结构的“表”(数组)。像这样的东西
struct my_struct hash_table[SOME_SIZE];
然后计算密钥并将其存储在数组中的key % SOME_SIZE
位置。结构中的额外数据照常填充。
为了避免冲突,表中的每个条目实际上都是一个链表,因此存储在表中相同位置的多个键是列表中的一个节点。