javascript資料結構與演算法 單向鍊錶

2021-09-24 02:43:10 字數 1437 閱讀 8476

陣列

鍊錶

封裝鍊錶類的常見方法:

(2)實現tostring方法

linkedlist.prototype.tostring = function()

return liststring

}

測試**

(3)實現insert方法

插入元素的情況分析

當插入的位置資訊為position為0 的位置

當插入的位置為某乙個大於0的位置(注意,這裡的position和index索引的取的方式一樣,從第乙個節點開始計算,head不計算在內)(這種情況下的話是包含插入的位置為length的情況)

linkedlist.prototype.insert = function(position,data)else

return current.data

}

(5)實現indexof方法

linkedlist.prototype.indexof = function(data)

// 如果沒有找到,更新當前的current和index

current = current.next

index +=1

}return -1

}

(6)實現update方法

linkedlist.prototype.update = function(position,newdata)

current.data = newdata

return true

}

(7)實現removeat()方法

linkedlist.prototype.removeat = function(position)else
(9)實現isempty (),size ()方法

linkedlist.prototype.isempty = function()

linkedlist.prototype.size = function()

學習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資料結構與演算法 集合

集合是由一組無序且唯一 即不能重複 的項組成的。類似於一種特殊的陣列,因為無序所以不能通過索引進行訪問,不能重複意味著相同的元素在聽乙個集合裡面是只能存在乙份。封裝乙個集合類 在集合內部是不需要再次進行內部類的。function set 方法 常見的方法 add value 向集合新增乙個新的項。r...

資料結構 棧(JavaScript)

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