javascript資料結構與演算法 集合

2021-09-24 05:39:20 字數 1390 閱讀 2726

集合是由一組無序且唯一(即不能重複)的項組成的。類似於一種特殊的陣列,因為無序所以不能通過索引進行訪問,不能重複意味著相同的元素在聽乙個集合裡面是只能存在乙份。

封裝乙個集合類

在集合內部是不需要再次進行內部類的。

function set()

// 方法

}

常見的方法

 add(value):向集合新增乙個新的項。

 remove(value):從集合移除乙個值。

 has(value):如果值在集合中,返回true,否則返回false。

 clear():移除集合中的所有項。

 size():返回集合所包含元素的數量。與陣列的length屬性類似。

 values():返回乙個包含集合中所有值的陣列。

(1)has方法實現

function set()

set.prototype.has=(value)=>

}

(2)add方法實現

set.prototype.add=(value)=>
(3)remove方法實現

set.prototype.remove=(value)=>else

}

(4)remove方法實現

set.prototype.clear = ()=>

}

(4)size方法實現

set.prototype.size=()=>
(4)values 方法實現

// 獲取集合中所有的值

set.prototype.values = function()

集合之間的操作

 並集:對於給定的兩個集合,返回乙個包含兩個集合中所有元素的新集合。

 交集:對於給定的兩個集合,返回乙個包含兩個集合中共有元素的新集合。

 差集:對於給定的兩個集合,返回乙個包含所有存在於第乙個集合且不存在於第二個集

合的元素的新集合。

 子集:驗證乙個給定集合是否是另一集合的子集。

(1)並集的實現

// 並集

set.prototype.union = function(otherset)

} return true

}

學習javaScript資料結構與演算法

建立陣列 var members 0,1,2,3,4,5,6,7,8 9,10 新增元素 向陣列末尾新增 members.push 11 向陣列開頭新增 members.unshift 1 刪除元素 從陣列末尾刪除 members.pop 從陣列開頭刪除 members.shift tips 通過p...

資料結構 棧(JavaScript)

棧是一種遵從後進先出 lifo 原則的有序集合。新新增的或待刪除的元素都儲存在棧的 末尾,稱作棧頂,另一端就叫棧底。在棧裡,新元素都靠近棧頂,舊元素都接近棧底。舉個栗子,差不多這樣子。初始化棧的高度以及棧頂指標 var length 0 var top null 宣告常用方法 this.push f...

二 javascript資料結構

1 識別符號 var test test 定義變數開頭不能是數字 var 1a 1a 定義變數開頭可以是下劃線 var a a 定義變數開頭可以是中文 var 變數 a 2 關鍵字與保留字 就是這些保留字關鍵字,你不能定義變數或者函式等等,反正別用就行了 abstract arguments boo...