雜湊表的操作

2021-08-02 12:54:07 字數 1145 閱讀 6424

#include

typedef

int keytype;

typedef

struct

/*元素型別定義*/

datatype;

typedef

struct

/*雜湊表型別定義*/

hashtable;

void createhashtable(hashtable *h,int m,int p,int hash,int n)

/*構造乙個空的雜湊表,並處理衝突*/

for(i=0;i/*求雜湊函式位址並處理衝突*/

else

/*用線性探測再雜湊法處理衝突*/

while((*h).data[di].key!=-1);

(*h).data[di].key=hash[i];

(*h).data[di].hi=sum+1;}}

(*h).cursize=n; /*雜湊表中關鍵字個數為n*/

(*h).tablesize=m; /*雜湊表的長度*/

}int searchhash(hashtable h,keytype k)

/*在雜湊表h中查詢關鍵字為k的元素*/

return

0; /*該位置不存在關鍵字k*/

}void hashasl(hashtable h,int m)

/*求雜湊表的平均長度*/

void displayhash(hashtable h,int m) /*輸出雜湊表*/

main()

; int m=11,p=11,n=8,pos;

keytype k;

hashtable h;

createhashtable(&h,m,p,hash,n);

displayhash(h,m);

k=123;

pos=searchhash(h,k);

printf("關鍵字%d在雜湊表中的位置為:%d\n",k,pos);

hashasl(h,m);

}

程式執行結果如圖:

雜湊表(雜湊表)的基本操作

首先要說的是 雜湊表又叫雜湊表 雜湊只是英文hash的音譯,雜湊才是標準的翻譯 好吧,下面是源 如果有錯誤,請見諒!head.h include using namespace std 雜湊表又叫 雜湊表 其實音譯才叫做雜湊 typedef int keytype 元素型別定義 typedef st...

簡單操作雜湊表

二,雜湊表的簡單操作 在雜湊表中新增乙個key value鍵值對 hashtableobject.add key,value 在雜湊表中去除某個key value鍵值對 hashtableobject.remove key 從雜湊表中移除所有元素 hashtableobject.clear 判斷雜湊...

雜湊表基本操作

遍歷雜湊表需要用到dictionaryentry object,如下 for dictionaryentry de in ht ht為乙個hashtable例項 console.writeline de.key 對應於key value鍵值對 key console.writeline de.val...