C 用雜湊表設計乙個集合類

2021-07-25 16:33:27 字數 1021 閱讀 2188

集合的主要操作包括:並集、交集、判斷是否為子集、取差異集合。

c# 中沒有提供集合資料型別或集合資料結構,用雜湊表作為基本資料儲存是設計集合型別的比較有效的方式。

其中,設計的乙個關鍵就就,要先創造乙個臨時儲存資料的例項,在本**中,用命名為 temp。

public class cset

public void add(object n) // 向集合中新增元素

public string hash(object item) // 用來計算向集合中新增的元素的雜湊位址

return tot.tostring(); // 返回雜湊位址

}public int size() // 集合的大小

public void remove(object item) // 移除集合中元素

public cset union(cset cs) // 並集操作

public cset intersection(cset cs) // 交集操作

return temp;

}public bool subset(cset cs) // 判斷是否為子集

public cset different(cset cs) // 取差異,是本集合中的元素,同時不是用來比較的集合中的元素

return temp;

}public override string tostring() // 覆寫 tostring() 方法

return s;}}

class program

}

執行結果:

a: bacon cereal milk

b: bread bacon cereal

a union b: bread bacon cereal milk

a intersect b: bacon cereal

a is a subset of b: false

b diff a: milk

設計乙個類,用get,set

建立乙個people類,裡面包含 名字 年齡 兩個成員變數,以及這兩個成員的get,set方法 要求用標頭檔案 實現檔案的標準格式實現,然後可以在main函式裡直接建立people物件 第一步 建立控制台程式 include stdafx.h include people.h include inc...

C語言寫乙個雜湊表

目錄 雜湊表,就是下標可以為字母的陣列。假設現有乙個陣列int a 100 想查詢其中第40個元素,則直接輸入a 40 就可以了,時間複雜度為o 1 o 1 o 1 問題在於,當下標不是數字,而是乙個字串的時候,可能需要乙個超大的空間才能將所有下標妥善地存放在特定的位置。例如,若以大小寫字母作為下標...

C 模板類設計雜湊表 程式

chash.h ifndef hashcache h define hashcache h include include using namespace std class chashtablefull void outputmessage chashnode const k host,const...