资源简介

资源包括:源代码,可执行文件。 1.问题描述 设计散列表实现电话号码查找系统。 2.基本要求 1)设每个记录有下列数据项:用户姓名、地址、电话号码; 2)从文件输入各记录,分别以电话号码和用户名为关键字建立散列表;(假 设人名为中国人姓名的汉语拼音形式 zhoukunxiao) 3)采用一定的方法解决冲突;(哈希函数可以用数字分析法和除留余数法构 造,用线性探测再散列法或链地址法处理冲突) 4)查找并显示给定电话号码的记录;(显示比较次数) 5)查找并显示给定用户姓名的记录;(显示比较次数) 6)输出相应的哈希表,计算平均查找长度; 7)设计一个菜单,上述操作要求都作为菜单中的主要菜单项。 3.测试数据 取所在班级的 n(n>=20)个同学记录。

资源截图

代码片段和文件信息

#include
#include“hash_data.h“
void menu(){
HashTable *ht;
int num;
//Initiate(ht);
ht=(HashTable*)malloc(sizeof(HashTable));
for(int i=0;i ht->item[i]=NULL;
ht->nowsize=0;
HashItem hi[Maxsize];
readmessage(hi);
//show(hi);
//printf(“ok“);
int choose=0;
while(1){
printf(“\n┌─────────────────────────────────────┐“);
printf(“\n│          电话号码查找系统           │“);
printf(“\n│          1-建立Hash_name哈希表      │“);
printf(“\n│          2-建立Hash_phone哈希表     │“);
printf(“\n│          3-通过姓名查找             │“);
printf(“\n│          4-通过电话号码查找         │“);
printf(“\n│          5-显示Hash_name            │“);
printf(“\n│          6-显示Hash_phone           │“);
printf(“\n│          7-退出                     │“);
printf(“\n└─────────────────────────────────────┘“);
printf(“\n输入选项:“);
scanf(“%d“&choose);
switch(choose){
case 1:system(“cls“); createHash_name(hthi);break;
case 2:system(“cls“); createHash_phone(hthi);break;
case 3:system(“cls“); searchHash_name(htnum);break;
case 4:system(“cls“); searchHash_phone(htnum);break;
case 5:system(“cls“); showHashTable(ht);break;
case 6:system(“cls“); showHashTable(ht);break;
case 7:exit(0);
default:system(“cls“);printf(“输入错误,请重新输入!\n“);break;
    }
}
}
int main(){
printf(“运行程序前请确认数据文本的存在! 继续--Enter  退出--Esc“);
if(getch()==27) exit(0);
system(“cls“);
menu();
return 0;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         733  2019-05-19 14:26  message.txt
     目录           0  2019-06-13 20:35  源\
     文件        4657  2019-05-27 12:51  源\hash_data.h
     文件        1596  2019-05-19 17:22  源\main.cpp
     文件       34816  2019-05-27 12:45  HashTable for Tel.exe

评论

共有 条评论