⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8_4.txt

📁 数据结构及算法经典 讲述数据结构的经典算法c源程序
💻 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 + -