首页 > 试题广场 >

设散列函数 H(k)=k mod p ,解决冲突的方法为链地

[填空题]

设散列函数 H(k)=k mod p ,解决冲突的方法为链地址法。要求在下列算法划线处填上正确的语句完成在散列表 hashtalbe 中查找关键字值等于 k 的结点,成功时返回指向关键字的指针,不成功时返回标志 0

typedef struct node {int key; struct node *next;} lklist;

void createlkhash(lklist *hashtable[ ])

{

int i,k;  lklist *s;

for(i=0;i<m;i++)_________1____________;

for(i=0;i<n;i++)

{

s=(lklist *)malloc(sizeof(lklist)); s->key=a[i];

k=a[i] % p; s->next=hashtable[k];___________2____________;

}

}

void createlkhash(lklist *hashtable[]) {
    int i, k; 
    lklist *s;
    for (i = 0; i < m; i++) {
        hashtable[i] = 0;  // 初始化散列表槽位为0
    }
    for (i = 0; i < n; i++) {
        s = (lklist *)malloc(sizeof(lklist));
        s->key = a[i];        // 假设a是存储元素的数组
        k = a[i] % p;         // 计算散列值
        s->next = hashtable[k];
        hashtable[k] = s;     // 将新结点插入链表头部
    }
}
发表于 2025-03-26 19:08:13 回复(1)
有大神会吗
发表于 2020-12-19 20:32:41 回复(0)
没看懂 数组里的结构体赋值0是什么意思 
发表于 2020-09-29 21:01:32 回复(4)
2023年了,没有人会吗?😭
发表于 2023-11-07 09:52:33 回复(0)
第一空
hashtable[i]=0;
第二空
hashtable[k]=s;



发表于 2021-12-04 08:41:27 回复(1)
hashtable[i]=0
hashtale[k]=s
发表于 2021-08-19 12:45:17 回复(1)