• 大小: 182KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: 其他
  • 标签: 哈希函数  

资源简介

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

资源截图

代码片段和文件信息

//设定哈希函数 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;
}

void InsertHash(HashTable *HElemType e) { //如果查找不到就插入元素
int p;
SearHash(*He.num&p); //查找
H->elem[p]=e;
++H->count;
}

void show(HashTable *H) {
int i;
printf(“本哈希表为:\n“);
for(i=0;i<11;i++) {
if(H->elem[i].num == 0) {
printf(“本哈希表中第%d个位置的关键字为:空\n“i);
}
else
printf(“本哈希表中第%d个位置的关键字为:%d\n“iH->elem[i].num);
}
}
void main() { //主函数
HashTable H;
int pkeyin;
ElemType e;
InitHash(&H);
printf(“输入个数(个数要小于11):“);
scanf(“%d“&n);
for(i=0;i printf(“输入关键字(每两个关键字之间转行输入):“);
scanf(“%d“&e.num);
InsertHash(&He);//插入元素
}
show(&H);

printf(“输入欲查找的关键字:“);
scanf(“%d“&key);
if(SearHash(Hkey&p))//能查找成功
{
printf(“所查关键字为:%d\n“H.elem[p].num);
printf(“关键字所在的位置:%d\n“p);//输出位置
}
else
printf(“ 不存在“);
getch();
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1944  2014-06-16 22:09  7哈希表\d.c

     文件       3339  2014-06-17 16:13  7哈希表\d.dsp

     文件        510  2014-06-17 16:14  7哈希表\d.dsw

     文件      50176  2014-06-17 16:14  7哈希表\d.ncb

     文件      48640  2014-06-17 16:14  7哈希表\d.opt

     文件        236  2014-06-17 16:13  7哈希表\d.plg

     文件     188500  2014-06-16 22:09  7哈希表\Debug\d.exe

     文件     231388  2014-06-16 22:09  7哈希表\Debug\d.ilk

     文件       8013  2014-06-16 22:09  7哈希表\Debug\d.obj

     文件     186360  2014-06-16 22:08  7哈希表\Debug\d.pch

     文件     467968  2014-06-16 22:09  7哈希表\Debug\d.pdb

     文件      33792  2014-06-17 16:14  7哈希表\Debug\vc60.idb

     文件      53248  2014-06-16 22:09  7哈希表\Debug\vc60.pdb

     目录          0  2012-07-02 19:24  7哈希表\Debug

     目录          0  2012-07-02 19:24  7哈希表

----------- ---------  ---------- -----  ----

              1274114                    15


评论

共有 条评论