雙向鏈表與鏈表的不同之處主要在于他的雙向查找。因?yàn)樵谶@種結(jié)構(gòu)中我們?cè)O(shè)計(jì)了每個(gè)節(jié)點(diǎn)的prev(向上查找)的引用或指針和next(向下查找)的引用或指針。得益于這種結(jié)構(gòu)你能做到正向和反向的查找。你也可以在查找某個(gè)index位置的元素時(shí),根據(jù)其長(zhǎng)度計(jì)算,到底是使用正向還是反向,這取決于你自己。

直接上代碼吧,詳解在注釋里:

先看一下代碼的整體結(jié)構(gòu):

下面是具體實(shí)現(xiàn):

復(fù)制代碼
 function DoublyLinkedList() { var Node = function (element) { this.element = element; this.next = null; //下一個(gè)是誰 this.prev = null; //上一個(gè)是誰  }; var head = null; var length = 
        		

網(wǎng)友評(píng)論