資料結構 七 之集合結構

2021-10-02 17:30:46 字數 1153 閱讀 2976

幾乎每種程式語言中, 都有集合結構.

集合比較常見的實現方式時雜湊表(後續會學習), 我們這裡來實現乙個封裝的集合類.

我們先來簡單認識一下集合的特點.

集合的特點

看成一種特殊的陣列

集合的實現

像前面封裝其他資料型別一樣, 我們也來封裝一下集合類(set類)

建立集合類

操作的方法

我們來乙個個實現這些方法, 相對都比較簡單.

has(value)方法

// 判斷集合中是否有某個元素

set.prototype.has = function (value)

add方法

// 向集合中新增元素

set.prototype.add = function (value)

remove方法

// 從集合中刪除某個元素

set.prototype.remove = function (value)

clear方法

// 清空集合中所有的元素

set.prototype.clear = function ()

}

size方法

// 獲取集合的大小

set.prototype.size = function ()

}return count

*/}

values方法

// 獲取集合中所有的值

set.prototype.values = function ()

return keys

*/}

集合的使用

最後, 我們還是給出集合的完整**

資料結構之「集合」

1.1 去重 set const arr 1,1,2,2 const arr2 new set arr 1.2 判斷元素是否在集合中const set new set arr set.has 1 set.has 2 true set.has 3 false1.3 求交集const set2 new ...

Redis資料結構之集合

簡介 set型別是用來儲存多個字串元素,但是不允許有重複,並且集合中的元素是無序的。集合有增刪改查的操作,還有求集合間的交集 並集 差集等 常用命令介紹 命令命令描述 sadd key element element.新增元素 srem key element element.刪除元素 scard ...

資料結構之集合Set

1 高層的資料結構,集合set和對映map,什麼是高層的資料結構呢,比如說是棧和佇列,這種資料結構更像是先定義好了使用介面,有了這些使用介面,包括資料結構本身所維持的一些性質,可以很方便的放入到一些應用中,但是底層實現可以多種多樣的,比如棧和佇列,底層實現既可以是動態資料,也可以是鍊錶。集合就是承載...