資源簡介
這是數據結構課程作業,用二次探測再散列法解決沖突建立哈希表并查找 從鍵盤讀入 待查找 的權重數值,以除留余數法為哈希函數,二次探測再散列法解決沖突建立哈希表,基于哈希算法從數組中查找相應的記錄,計算相應的查找時間,并在屏幕上輸出顯示。

代碼片段和文件信息
#include?“Hash.h“
#include?
typedef?struct{
int?NO;
int?Weight;
}Data;
int?main()
{
HashTable?hash;
ElemType?elem;
int?i?=?0;
int?t?=?0;
int?Wgt;
char?Temp[100];
char?NO[11];
char?Weight[11];
Data?data[4095];
FILE?*fp;
clock_t?start?finish;
double??duration;
if((fp?=?fopen(“Data.txt““rb“))==?NULL)
????{
????????printf(“can?not?open?file\n“);
????????exit(0);
????}
Initiate(&hashm);
while(!feof(fp))
{
fgets(NO11fp);
fgets(Weight11fp);
fgets(Temp100fp);
data[i].NO?=?atoi(NO);
data[i].Weight?=?atoi(Weight);//將每條數據存入數組
elem.ord?=?data[i].NO;
elem.key?=?data[i].Weight;
Insert(&hashelem);//將每條數據按關鍵碼的形式插入哈希表
i++;
}
printf(“請輸入要查找的權重:“);
scanf(“%d“&Wgt);
start?=?clock();
for(i?=?0;i?4095?;?i++)
{
if(Wgt?==?data[i].Weight)
{
printf(“數組查找法:\n編號為:%d權重為%d\n“data[i].NOdata[i].Weight);
t?=?1;
finish?=?clock();
duration?=?(double)(finish?-?start);
printf(“順序查找算法運行時間為:%f\n“?duration);
break;
}
}
if(t?==?0)
{
printf(“查找不到!“);
}
start?=?clock();
i?=?Find(&hashWgt);
finish?=?clock();
if(i>0)
{
printf(“哈希表查找法:\n編號為:%d權重為%d\n“hash.elem[i].ordhash.elem[i].key);
duration?=?(double)(finish?-?start);
printf(“哈希表查找算法運行時間為:%f\n“?duration);
}
else
{
printf(“查找不到!“);
}
fclose(fp);
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????253952??2012-05-09?16:43??Hash\Data.txt
?????文件?????213041??2012-06-01?11:35??Hash\Debug\Hash.exe
?????文件?????212804??2012-06-01?11:35??Hash\Debug\Hash.ilk
?????文件???????8334??2012-06-01?11:35??Hash\Debug\Hash.obj
?????文件?????187796??2012-06-01?09:31??Hash\Debug\Hash.pch
?????文件?????500736??2012-06-01?11:35??Hash\Debug\Hash.pdb
?????文件??????41984??2012-06-01?11:38??Hash\Debug\vc60.idb
?????文件??????69632??2012-06-01?11:35??Hash\Debug\vc60.pdb
?????文件???????1489??2012-06-01?11:35??Hash\Hash.c
?????文件???????4317??2012-05-31?22:38??Hash\Hash.dsp
?????文件????????514??2012-05-31?20:49??Hash\Hash.dsw
?????文件???????1721??2012-06-01?09:31??Hash\Hash.h
?????文件??????50176??2012-06-01?11:40??Hash\Hash.ncb
?????文件??????54784??2012-06-01?11:40??Hash\Hash.opt
?????文件???????1230??2012-06-01?11:35??Hash\Hash.plg
?????文件??????31837??2012-06-01?11:40??Hash\運行結果.png
?????目錄??????????0??2014-05-25?12:30??Hash\Debug
?????目錄??????????0??2013-03-31?09:21??Hash
?????文件??????29017??2012-06-01?20:28??Hash\Hash.exe
?????文件???????2605??2012-06-01?20:28??Hash\Hash.o
-----------?---------??----------?-----??----
??????????????1665969????????????????????20
- 上一篇:ArcSDE10.2 授權文件
- 下一篇:labview 聲音錄制播放
評論
共有 條評論