2011-01-13 37 views
3

我對理解練習有困難。我必須開發一個線性鏈表。但是我不必區分列表和節點。線性鏈表,前置節點

構造函數節點應創建一個節點並將其前置到作爲參數傳遞的列表中。

正常情況下,我會通過列表並追加一個節點在它的結尾。這是我的代碼。

class Node{ 
    Object data; 
    Node link; 

    public Node(Object pData, Node pLink){ 
     this.data = pData; 
     this.link = pLink; 
    } 

    public String toString(){ 
     if(this.link != null){ 
      return this.data.toString() + this.link.toString(); 
     }else{ 
      return this.data.toString() ; 
     } 
    } 

    public void inc(){ 
     this.data = new Integer((Integer)this.data + 1); 
    } 
} 

也許我今天學到了很多,我的大腦不能承受更多的信息:D請幫忙!

+1

看起來你做得對! – 2011-01-13 21:03:14

回答

1

您需要修改節點的下一個指針以指向作爲參數傳入的列表。

這實際上是你的代碼已經在做什麼。我試過running it,它給出了正確的結果。 :)

您可能需要考慮在你的實現toString一個分離器,使輸出依然清晰當數據的數字得到比9

+0

謝謝,遞歸數據結構有時候會讓人困惑...... – 2011-01-13 21:03:20

1

我不知道你問大,但我認爲這是你想要的,所以在這裏。

可以說,你已經擁有了頭

Node head = ... 

可以追加到此做

head = new Node(..., head) 

通知我再次分配頭所以現在頭指向新創建的節點。

+0

正如Mark所說,你所在的領域已經在這樣做了。但希望我的回答有助於展示如何使用它 – 2011-01-13 21:01:11