雜湊表的簡單實現(大話資料結構)

2021-09-06 07:26:31 字數 1328 閱讀 1895

#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底層是實現看起來實現的非常的簡潔,覺得自己去寫乙個雜湊表肯定也是很簡單的。但是,但是,但是我今天看了一下資料結構裡面的雜湊表的簡單實現,才發現其實也是有很多學問在裡面的,所以今天就打算自己實現一下,做乙個記錄,方便以後自己來檢視學習。因為雜湊表是會產生雜湊...