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

 

  鏈表的概念

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

  電腦培訓,計算機培訓,平面設計培訓,網頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

 

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

電腦培訓,計算機培訓,平面設計培訓,網頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

  刪除過程:

電腦培訓,計算機培訓,平面設計培訓,網頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

  

  基于對象的鏈表

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

  首先看Node類:  

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

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

  LinkedList類:

電腦培訓,計算機培訓,平面設計培訓,網頁設計培訓,美工培訓,Web培訓,Web前
        
		<div   id=

網友評論