📄 8_4.txt
字号:
#include<stdio.h>
#define p 13 /*哈希表空间大小为p*/
#define n 10 /*输入的关键字个数为n*/
typedef int keytp;
createht(keytp *ht,keytp key[])
{
int i,j,hadr,hadr1;
for(i=0;i<n;i++) /*哈希表初始化*/
ht[i]=0;
for(i=0;i<n;i++)
{
hadr=key[i]%p;
if(ht[hadr]==NULL) /*没有冲突*/
ht[hadr]=key[i];
else{ /*有冲突*/
j=1;
while(1){
hadr1=(hadr+j)%p;
if(ht[hadr1]==0)break;
j++;
}
ht[hadr1]=key[i];
}
}
}
searchkey(keytp *ht,keytp key)
{
int hadr,hadr1,j;
hadr=key%p;
if(ht[hadr]==0)return -1;
else{
j=1;
while(1){
hadr1=(hadr+j)%p;
if(ht[hadr1]==0)break;
j++;
}
}
return hadr1;
}
main()
{
keytp *ht; keytp key[]={32,75,29,63,48,94,25,46,18,70},key1;
int s;
ht=(keytp *)malloc(sizeof(keytp)*p);
createht(ht,key);
printf("请输入要查找的关键字:\n");
scanf("%d",&key1);
if(s=searchkey(ht,key1))printf("该关键字存在,其地址为%d\n",s);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -