1

如何使用 C++ 中的数组为表制作哈希表表示并对其应用哈希函数k % 10?我将使用链接来解决冲突(即表是一个链表数组)。

我还要在该表中插入、搜索和删除值。

到目前为止,我有:

struct Node {
    int value;
    Node* next;
}; 

void insert(int n, Node* hashtable[]) {

    int x = n % 10;
... ...

例如对于 value 10,我的哈希函数会产生0,所以10进入数组/哈希表的第一个槽。
然后,如果我有 value 100100也会去第一个插槽,所以我10会“指向” 100......我将如何编码?

4

1 回答 1

0

就像是

Node* oldFront = hashtable[hashcode];
Node* newNode = new Node(value, oldFront);
hashtable[hashcode] = newNode;

这会将最近的碰撞添加到链表的前面,即它作为堆栈运行。将其添加到后面作为提问者的练习!

于 2012-06-02T01:04:38.063 回答