【发布时间】:2021-04-05 06:41:36
【问题描述】:
我正在学习 Java 中 LinkedList 的实现。这样做时,我不理解在 LinkedList.java 中执行以下代码后,head 是如何更新新节点的概念,尽管我们没有更新 head。
n.next = node;
请让我理解这个概念。提前致谢。
Node.java
public class Node {
int data;
Node next;
}
LinkedList.java
public class LinkedList {
Node head;
void insert(int data) {
Node node = new Node();
node.data = data;
node.next = null;
if(head==null) {
head = node;
}else {
Node n = head;
while(n.next!=null) {
n = n.next;
}
n.next = node; //--head is also updating with new nodes--//
}
}
void display() {
Node n = head;
do {
System.out.println(n.data);
n=n.next;
}
while(!(n.next==null));
}
}
Main.java
public class Main {
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.insert(10);
list.insert(20);
list.insert(30);
list.insert(40);
list.display();
}
}
【问题讨论】:
-
自己在
insert中检查head是如何填充的(可能还有额外的System.out...)
标签: java linked-list