前面樓主分別討論了數(shù)據(jù)結(jié)構(gòu)棧與隊列的實現(xiàn),當(dāng)時所用的數(shù)據(jù)結(jié)構(gòu)都是用的數(shù)組來進行實現(xiàn),但是數(shù)組有的時候并不是最佳的數(shù)據(jù)結(jié)構(gòu),比如在數(shù)組中新增刪除元素的時候需要將其他元素進行移動,而在javascript中使用spit()方法不需要訪問其他元素。如果你在使用數(shù)組的時候發(fā)現(xiàn)很慢,就可以考慮使用鏈表。

 

  鏈表的概念

  鏈表是一種常見的數(shù)據(jù)結(jié)構(gòu)。它是動態(tài)地進行存儲分配的一種結(jié)構(gòu)。鏈表有一個“頭指針”變量,以head表示,它存放一個地址,指向一個元素。每個結(jié)點都使用一個對象的引用指標(biāo)它的后繼,指向另一個結(jié)點的引用叫做鏈。

  電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

 

  數(shù)組元素依靠下標(biāo)(位置)來進行引用,而鏈表元素則是靠相互之間的關(guān)系來進行引用。因此鏈表的插入效率很高,下圖演示了鏈表結(jié)點d的插入過程:  

電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

  刪除過程:

電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

  

  基于對象的鏈表

  我們定義2個類,Node類與LinkedList類,Node為結(jié)點數(shù)據(jù),LinkedList保存操作鏈表的方法。

  首先看Node類:  

1 function Node(element){ 2     this.element = element; 3     this.next = null; 4 }

  element用來保存結(jié)點上的數(shù)據(jù),next用來保存指向一下結(jié)點的的鏈接?! ?/p>

  LinkedList類:

電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前
        
        	<div   id=

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式