-
大小: 14KB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2021-07-28
- 語言: 其他
- 標(biāo)簽: 哈希表??c語言??課程設(shè)計(jì)??
資源簡(jiǎn)介
資源包括:源代碼,可執(zhí)行文件。
1.問題描述 設(shè)計(jì)散列表實(shí)現(xiàn)電話號(hào)碼查找系統(tǒng)。
2.基本要求
1)設(shè)每個(gè)記錄有下列數(shù)據(jù)項(xiàng):用戶姓名、地址、電話號(hào)碼;
2)從文件輸入各記錄,分別以電話號(hào)碼和用戶名為關(guān)鍵字建立散列表;(假
設(shè)人名為中國(guó)人姓名的漢語拼音形式 zhoukunxiao)
3)采用一定的方法解決沖突;(哈希函數(shù)可以用數(shù)字分析法和除留余數(shù)法構(gòu)
造,用線性探測(cè)再散列法或鏈地址法處理沖突)
4)查找并顯示給定電話號(hào)碼的記錄;(顯示比較次數(shù))
5)查找并顯示給定用戶姓名的記錄;(顯示比較次數(shù))
6)輸出相應(yīng)的哈希表,計(jì)算平均查找長(zhǎng)度;
7)設(shè)計(jì)一個(gè)菜單,上述操作要求都作為菜單中的主要菜單項(xiàng)。
3.測(cè)試數(shù)據(jù)
取所在班級(jí)的 n(n>=20)個(gè)同學(xué)記錄。

代碼片段和文件信息
#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│??????????電話號(hào)碼查找系統(tǒng)???????????│“);
printf(“\n│??????????1-建立Hash_name哈希表??????│“);
printf(“\n│??????????2-建立Hash_phone哈希表?????│“);
printf(“\n│??????????3-通過姓名查找?????????????│“);
printf(“\n│??????????4-通過電話號(hào)碼查找?????????│“);
printf(“\n│??????????5-顯示Hash_name????????????│“);
printf(“\n│??????????6-顯示Hash_phone???????????│“);
printf(“\n│??????????7-退出?????????????????????│“);
printf(“\n└─────────────────────────────────────┘“);
printf(“\n輸入選項(xiàng):“);
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(“輸入錯(cuò)誤,請(qǐng)重新輸入!\n“);break;
????}
}
}
int?main(){
printf(“運(yùn)行程序前請(qǐng)確認(rèn)數(shù)據(jù)文本的存在!?繼續(xù)--Enter??退出--Esc“);
if(getch()==27)?exit(0);
system(“cls“);
menu();
return?0;
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????????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
評(píng)論
共有 條評(píng)論