我想了解node1.next = node3
和node2 = node3
之間的區別。 在鏈表中,node1.next = node3
擺脫node2
。但node1.next
指向node2
反正爲什麼node2 = node3
不能在下面的代碼中工作?在java中單向鏈表中刪除一個節點
public class LinkedList {
LinkedList head = null;
LinkedList next = null;
int data = 0;
public static void main(String[] args) {
LinkedList node1 = new LinkedList();
LinkedList node2 = new LinkedList();
LinkedList node3 = new LinkedList();
node1.data = 1;
node1.next = node2;
node2.data = 2;
node2.next = node3;
node3.data = 3;
node3.next = null;
node2 = node3;// If I replace with node1.next = node3; it works
LinkedList h = node1;
while (h.next != null) {
System.out.println(h.data);
h = h.next;
}
}
}
與所有鏈接列表問題一樣,繪製包含框和箭頭的圖。然後你會明白。 –
這可能會有幫助 - [是Java「通過引用」?](http://stackoverflow.com/q/40480)不是100%相同的問題,但非常接近。 – Dukeling