列表是一組有序的資料。 每個列表中的資料項成為元素。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一一實現,算是記錄下來,給自己以後複習用吧。先上 列表 列表是...