#include "stdio.h
"#include
"stdlib.h
"#include
"io.h
"#include
"math.h
"#include
"time.h
"#define ok 1
#define error 0
#define true 1
#define false 0
#define maxsize 100 /* 儲存空間初始分配量 */
#define success 1
#define unsuccess 0
#define hashsize 12 /* 定義雜湊表長為陣列的長度 */
#define nullkey -32768 typedef
int status; /*
status是函式的型別,其值是函式結果狀態**,如ok等
*/typedef
struct
hashtable;
int m=0; /*
雜湊表表長,全域性變數
*//*
初始化雜湊表
*/status inithashtable(hashtable *h)
/*雜湊函式
*/int hash(int
key)
/*插入關鍵字進雜湊表
*/void inserthash(hashtable *h,int
key)
h->elem[addr] = key; /*
直到有空位後插入關鍵字 */}
/*雜湊表查詢關鍵字
*/status searchhash(hashtable h,
int key,int *addr)
return
success;
}int
main()
;
inti,p,key,result;
hashtable h;
key=39
; inithashtable(&h);
for(i=0;i)
inserthash(&h,arr[i]);
result=searchhash(h,key,&p);
if(result)
printf(""
,key,p);
else
printf(
"查詢 %d 失敗。\n
",key);
for(i=0;i)
return0;
}
大話資料結構 雜湊表查詢(雜湊表)
雜湊技術 在記錄的儲存位置和它的關鍵字之間建立乙個確定的對應關係f,使得每個關鍵字key對應乙個儲存位置f key f 雜湊函式 雜湊函式 採用雜湊技術將記錄儲存在一塊連續的儲存空間中,這塊連續儲存空間稱為雜湊表或雜湊表。關鍵字對應的記錄儲存位置稱為雜湊位址。雜湊技術既是一種儲存方法,也是一種查詢方...
《C 實現資料結構》 雜湊表
雜湊表通過將關鍵字值對映到表中某個位置上來儲存元素。由給定的關鍵字值,根據對映,計算得到元素的儲存位置來訪問元素。在雜湊技術中,衝突是指對於關鍵字集合中的兩個關鍵字值ki和kj,當ki kj時,有h ki h kj h是雜湊函式。目前比較常用的雜湊函式有 除留餘數法 平方取中法 摺疊法 數字分析法。...
資料結構之雜湊表的實現
之前研究stl原始碼的時候發現雜湊table底層是實現看起來實現的非常的簡潔,覺得自己去寫乙個雜湊表肯定也是很簡單的。但是,但是,但是我今天看了一下資料結構裡面的雜湊表的簡單實現,才發現其實也是有很多學問在裡面的,所以今天就打算自己實現一下,做乙個記錄,方便以後自己來檢視學習。因為雜湊表是會產生雜湊...