?? 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 + -