C 中使用雜湊表Hashtable

2021-04-23 05:46:44 字數 1015 閱讀 1502

一,雜湊表(hashtable)簡述

在.net framework中,hashtable是system.collections命名空間提供的乙個容器,用於處理和表現類似keyvalue的鍵值對,其中key通常可用來快速查詢,同時key是區分大小寫;value用於儲存對應於key的值。hashtable中keyvalue鍵值對均為object型別,所以hashtable可以支援任何型別的keyvalue鍵值對.

二,雜湊表的簡單操作

在雜湊表中新增乙個keyvalue鍵值對:hashtableobject.add(key,value);

在雜湊表中去除某個keyvalue鍵值對:hashtableobject.remove(key);

從雜湊表中移除所有元素:           hashtableobject.clear();

判斷雜湊表是否包含特定鍵key:      hashtableobject.contains(key);

下面控制台程式將包含以上所有操作:

using system;

using system.collections; file使用hashtable時,必須引入這個命名空間

class hashtable}

三,遍歷雜湊表

遍歷雜湊表需要用到dictionaryentry object,**如下:

for(dictionaryentry de in ht) fileht為乙個hashtable例項

四,對雜湊表進行排序

對雜湊表進行排序在這裡的定義是對keyvalue鍵值對中的key按一定規則重新排列,但是實際上這個定義是不能實現的,因為我們無法直接在hashtable進行對key進行重新排列,如果需要hashtable提供某種規則的輸出,可以採用一種變通的做法:

arraylist akeys=new arraylist(ht.keys); file別忘了匯入system.collections

akeys.sort(); file按字母順序進行排序

for(string skey in akeys)

c 中使用雜湊表

雜湊表 hash table,也叫雜湊表 是根據關鍵碼值 key value 而直接進行訪問的資料結構。也就是說,它通過把關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的速度。這個對映函式叫做雜湊函式,存放記錄的陣列叫做雜湊表。雜湊表是演算法在時間和空間上作出權衡的經典例子 如果沒有記憶體限制,我...

雜湊表(雜湊表) C 實現

雜湊函式就是 關鍵字key 到 值value 的對映 value f key value反映的是關鍵字key的儲存位址。直接定址法 f key a key b 例如存放不同出生年份的人口數量,出生年份是關鍵字,那麼可以用直接定址法。直接定址法的優點是簡單均勻,也不會產生衝突 缺點是該方法適合表比較小...

C 開雜湊雜湊表(雜湊桶)

開雜湊概念 開雜湊法又叫鏈位址法 開鏈法 首先對關鍵碼集合用雜湊函式計算雜湊位址,具有相同位址的關鍵碼歸於同一子集合,每乙個子集合稱為乙個桶,各個桶中的元素通過乙個單鏈表連線起來,各鍊錶的頭結點儲存在雜湊表中。開雜湊中每個桶中放的都是發生雜湊衝突的元素。節點定義 template class v s...