2013-11-25 17 views
1

我正在學習鏈接列表。我發現了一個java示例,它將一個新節點放置到鏈表上的第三個位置,但我只看到過使用其他2個節點current和previous插入到列表中間的某個位置。我從來沒有見過像.getNext之類的東西。那麼有人可以解釋這段代碼中的每個部分都可以做什麼,也許可以使用當前和之前的節點來重述它,這樣我就可以理解它與它們的關聯和比較了嗎? Elem是給被插入節點的名稱,如果你添加一個涉及這些的解釋,你不必實例化current和previous。我只是假設它已經完成了。Beginner Java - 將節點插入鏈表的中間 - 這是做什麼的

elem.setNext(first.getNext().getNext()); 
first.getNext().setNext(elem); 
numberOfElems++; 

請讓我知道如果您需要更多的信息來回答!

回答

2
elem.setNext(first.getNext().getNext()); 

如您所說,elem是插入的元素。上面的代碼行集合elemnext引用列表的第三個元素(first.getNext().getNext()引用第三個元素)。

first.getNext().setNext(elem); 

代碼的第二行設置被插入第二元件的next參照新元素。現在將新元素插入到舊的第二個元素和第三個元素之間,使其成爲列表中的第三個元素。

最後一行代碼只是增加了元素的數量。