js資料結構 列表List

2021-09-26 05:51:31 字數 1666 閱讀 7451

列表是一組有序的資料。 每個列表中的資料項成為元素。js中的列表, 元素可以是任意資料型別。

列表中可以儲存多少元素沒有限定, 實際使用時, 由程式記憶體控制元素數量

不包含任何元素的列表稱為空列表。

列表中包含的元素格數稱為列表的length

列表擁有描述元素位置的屬性, 有前有後

列表的抽象資料型別並未指明列表的儲存結構, 使用乙個陣列datastore來儲存元素。

建構函式

function list()
給列表的下乙個位置增加乙個元素, 位置剛好等於listsize的值

this.datastore[this.listsize++] = element;}

find方法

對陣列物件datastore進行迭代, 查詢給定的元素, 找到返回元素位置, 否則返回-1。

function find(element) 

} return -1;

}

remove方法

使用find方法輔助驗證,splice()方法簡化刪除過程(刪除過程, 找到元素, 刪除, 調整底層的陣列物件填補刪除後留下的空位)

fuction remove(element) 

return false;

}

length

返回列表中的元素的個數

fuction length()
tostring

返回陣列簡單顯示列表中的元素,也可以選擇返回字串,下例返回陣列。

function tostring()
insert

需要知道元素要插入的位置, 假設插入某個元素after之後,使用find方法查詢位置索引。使用splice方法插入。

function insert(element, after) 

return false;

}

clear

清空列表中所有的元素

function clear()
contains

判斷給定值是否在列表中(與本例find方法類似, 返回值不同)

function contains(element) 

return false;

}}

遍歷列表方法
function front() 

function end()

function prev()

}fucntion next()

}function currpos()

function moveto(n)

function getelement()

優點:

訪問列表元素時不必關心底層的資料儲存結構

當為列表新增乙個元素時, 索引的值就不對了, 此時只用更新列表, 而不用更新迭代器

可以用不同型別的資料儲存方式實現clist類, 迭代器為訪問列表裡的元素提通了一種同一的方式

例:

for(names.front();  names.currpos()

資料結構 列表(list)

列表 list 其各個元素放在方括號中,用逗號隔開,並且列表本身可以改變 如增減元素 下面重點講解其常用的幾種函式用法 首先宣告乙個list,如下 1 選取任意乙個或幾個元素輸出 注 下標從0開始,選取多個元素時,右邊是開區間 2 以某一步長對列表進行抽取,重新賦值後形成新的列表 如s i j k ...

資料結構 列表list

列表是用來儲存一組有序資料元素的資料結構,列表內容可變。符號list null list 空列表 int list 0 1,2 int型別列表 srt list a b c str型別列表列表的複製與字串類似,也是利用 號完成 print int list 3 將int list複製2遍列表合併可以...

js實現資料結構及演算法之列表 List

最近在學習資料結構及演算法,資料結構 列表,棧,佇列,鍊錶,字典,雜湊,集合,二叉樹 演算法 圖和圖演算法,排序演算法 冒泡 選擇 插入 希爾 歸併 快速,檢索演算法 順序查詢,二分查詢 還有高階一點的動態規劃和貪心演算法,這些都會用js一一實現,算是記錄下來,給自己以後複習用吧。先上 列表 列表是...