幾乎每種程式語言中, 都有集合結構.集合比較常見的實現方式時雜湊表(後續會學習), 我們這裡來實現乙個封裝的集合類.
我們先來簡單認識一下集合的特點.集合的特點
看成一種特殊的陣列
集合的實現
像前面封裝其他資料型別一樣, 我們也來封裝一下集合類(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,什麼是高層的資料結構呢,比如說是棧和佇列,這種資料結構更像是先定義好了使用介面,有了這些使用介面,包括資料結構本身所維持的一些性質,可以很方便的放入到一些應用中,但是底層實現可以多種多樣的,比如棧和佇列,底層實現既可以是動態資料,也可以是鍊錶。集合就是承載...