• 大小: 1.69KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: 其他
  • 标签: 其他  

资源简介


设定哈希函数 H(key) = key MOD 11 ( 表长=11 ),输入一组关键字序列,根据线性探测再散列解决冲突的方法建立哈希表的存储结构,显示哈希表,任意输入关键字,判断是否在哈希表中。

资源截图

代码片段和文件信息

#include  
#include  
#include  
#define MAX 11 
typedef struct 

int num; 
char name[20]; 

ElemType;//定义查找的结点元素 
typedef struct 

ElemType *elem; //数据元素存储基址
int count; //数据元素个数
int sizeindex; 
}HashTable;//定义哈希表 

int Hash(int num) 

int p; 
p=num%11; 
return p; 
}//定义哈希函数 

void InitHash(HashTable *H)//创建哈希表 

int i; 
    H->elem=(ElemType *)malloc(MAX*sizeof(ElemType)); 
H->count=0; 
H->sizeindex=MAX; 
for(i=0;i H->elem[i].num=0;//初始化,使SearHash函数能判断到底有没有元素在里面 


int SearHash(HashTable Hint keyint *p)//查找函数 

*p=Hash(key); 
while(H.elem[*p].num!=key&&H.elem[*p].num!=0) 
*p=*p+1; 
if(H.elem[*p].num==key) 
return 1; 
else 
return 0; 




评论

共有 条评论