雙向鏈表與鏈表的不同之處主要在于他的雙向查找。因為在這種結(jié)構(gòu)中我們設(shè)計了每個節(jié)點的prev(向上查找)的引用或指針和next(向下查找)的引用或指針。得益于這種結(jié)構(gòu)你能做到正向和反向的查找。你也可以在查找某個index位置的元素時,根據(jù)其長度計算,到底是使用正向還是反向,這取決于你自己。
直接上代碼吧,詳解在注釋里:
先看一下代碼的整體結(jié)構(gòu):
下面是具體實現(xiàn):
function DoublyLinkedList() { var Node = function (element) { this.element = element; this.next = null; //下一個是誰 this.prev = null; //上一個是誰 }; var head = null; var length =