使用js實現鍊錶

2021-08-29 02:24:15 字數 858 閱讀 4840

鍊錶是一種動態的資料結構,不同於陣列的是,鍊錶分配記憶體空間的靈活性,它不會像陣列一樣被分配一塊連續的記憶體。當你想在陣列的任意位置,插入乙個新值的時候,必須對陣列中的各個元素進行相應的位置移動才能達到目標,開銷顯然是很大的。然而鍊錶的靈活性在於它的每個元素節點分為兩部分,一部分是儲存元素本身,另一部分是指向下乙個節點元素的引用,也可以稱為指標,當你要插入資料時,把上乙個節點的向下指標指向新資料節點,新資料節點的向下指標指向原有資料。但是煉表不像陣列那樣可以直接通過索引立刻定位,只能通過遍歷。

function list() 

function node(element)

function find(item)

return currnode;

}function insert(newelement,item)

function remove(item)

function findprevious(item)

return currnode;

}function getall()

}

function llist() 

function lnode(element)

function insert(newelement.item)

function remove(item)

}function findlast()

return current;

}function dispreverse()

}

function clist()

js 實現鍊錶

我們通常會在c 這類語言中學習到鍊錶的概念,但是在js中由於我們可以動態的擴充陣列,加之有豐富的原生api。我們通常並不需要實現鍊錶結構。由於突發奇想,我打算用js實現一下 首先我們要建立鍊錶 1 建立鍊錶 2function createlinknode data,pre,next 8this.n...

js實現鍊錶

平時我們使用最多的資料結構應該是陣列,很多東西都可以用陣列來輕鬆實現,但在某些程式語言中,陣列的長度是預先設定好的,想要額外新增元素或者刪除元素是一件比較困難的事。那麼使用鍊錶的話恰恰就解決了這些問題,對於鍊錶來說刪除或新增乙個元素是非常方便的,除了資料的隨機訪問 可以實現但是比較麻煩,比如可以通過...

單向鍊錶JS實現

可以排序,增加,查詢,刪除的單向鍊錶 function linknode key,value function link link.prototype add function key,value var node new linknode key,value if this.count 0 thi...