下载此文档

哈希表课程设计.docx


文档分类:IT计算机 | 页数:约41页 举报非法文档有奖
1/41
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/41 下载此文档
文档列表 文档介绍
数据构造课程设计
设计说明书
哈希表的实现与应用
同学姓名学 号
班 级
成 绩
指导教师 曹记东
数学与计算机科学学院
题 目别以用户名为检索以及以以 号码将用户信息添加到哈希表。在查找用户信息时必需先建立哈希表〔先进展4、5 步骤〕。只需输入用户的姓名或号码就可以查找到用户信息。程序用构造体存储用户信息,建立的哈希表便利快速的查找到用户信息。程序用链表的方式存储信息以及构造哈希表
具体流程图如下所示:
查询系统菜单 main()
Create Hash2(
); 姓名
退出系统
产 生
哈 希表
( 用 二




性 探 测
发法)
功能模块




用户信







图 菜单系统
3
程序主流程图
Int nt main()
4
插入用户信息 int InsertH()
建 立 用 户 信 息
Getin()
9
9
显 示 所 有 信 息
ShowInformati〔〕;

以姓名产生哈希值
int Hash1()

以号码产生哈希值
int Hash1()
9
9
冲 突 处 理 函 数 Status collision1()
冲突处理函数Status collision2()
9
9
是 是否冲突
H->elem[pp]=N
ULLL
是否冲突 是
H->elem[pp]=N ULL
9


以姓名建立哈希表
int CreateHash1( )


以号码建立哈希表 int CreateHash1( )
9
9
以 姓 名 查 找 用 户 信 息 int SearchHash1()
以 号 码 查 找 用 户 信 息 int SearchHash1()
9
完毕程序
9
图 各个模块之间调用关系
数据构造描述与定义
用构造体数据定义哈希表
typedef struct //哈希表
{
Record *elem[HASHSIZE]; //数据元素存储基址int count; //当前数据元素个数
int size; //当前容量
}HashTable;
用构造体定义建立用户记录
typedef struct //记录
{
char name[20]; char tel[20]; char add[20];
}Record;
初始化哈希表地址,初始化哈希表
#define LEN sizeof(HashTable)
#define HASHSIZE 54 //定义哈希表长HashTable *H;
H=(HashTable*)malloc(LEN); //申请哈希表空间地址for(i=0;i<HASHSIZE;i++) //初始化哈希表
H->elem[i]=NULL;
H->size=HASHSIZE; //哈希表大小
H->count=0; //记录哈希表内个数大小Record a[MAXSIZE];
16
主要模块算法描述及流程图
1〕增加信息
STAR
int getin(Record*a,int n)
{
scanf(“%d”,&NUM-BER); int I;
if(NUM-BER<MAXS
IZE)
yes
printf(“输入过大,请重新输入:\n”)
for(i=0,i<NUM-BER;i++)
return UNSUCESS;);
printf(“\t 联系人%d\n“,i+1);
printf(“\t\t 用户名:“); scanf(“%s“,a[i+n].name); printf(“\t\t 号码: “); scanf(“%s“,a[i+n].tel); printf(“\t\t 地址: “); scanf(“%s“,a[i+n].add);
}
return n+NUM_BER;
Return n+NUM-BER
STO

哈希表课程设计 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
最近更新