鏈表結構詳解


鏈表是最簡單的動態數據結構,數據存儲在節點(Node)中,其節點的數據結構如下:

class Node{
    E e;//數據存儲的地方
    Node next;//也是一個節點,他指向當前節點的下一個節點
}

我們可以把鏈表理解成為一個火車,每個鏈表,其實就是一節車廂,數據存儲在車廂中中,而每個火車節都有一個指針,連接着下一個火車節。

鏈表有一個優點:

  真正的動態數據結構,無需關系創建的空間是否過大,不需要像數據一樣擔心容量的問題。

缺點:

  不能像數組那樣,給一個索引就能查找到指定的值。

鏈表和數組的對比:

 

 

鏈表的簡單數據結構:

public class LinkdList<E>{
       
    private class Node{
        public E e;   //data數據
        public Node next;  //指向下一節點的指針
     }

    //鏈表的頭部
    private Node head;

    //節點的長度
    private int size;
   
     //有參無參構造方法
    public Node(E e, Node next){
        this.e = e;  
        this.next = next;  
    }

    public Node(E e){
         this(e, null);
    }

    public Node(){
        this(null, null);
    }

}

其中dade也就是存儲數據的地方,而Node也是一個節點,他指向着下一節點的Node,而頭指針永遠都是指向第一個有效的數據節點,不管鏈表是否為空,頭指針均不為空,頭節點是為了操作方便而設立的,放在第一個有效數據之前,沒有什么意義,一般都是存放鏈表的長度,頭結點不一定是鏈表的必要元素。

而最后一個節點的Node指向的則是空。

下面是我自己畫的簡單結構圖:(也就是單向鏈表)

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM