Jae*_*Kim 1 java linked-list list nodes
所以我读了几篇关于这个主题的文章,但它们都提到了遍历一个已经由 Java 实现的链表;例如,LinkedList<String> list = new LinkedList<String>();。然后继续说使用 for 循环遍历链表。但是,我正在尝试实现自己的链表,但不确定如何遍历它们。换句话说,我有以下代码:
class Node {
private Node next = null;
private int data;
public Node(int d) {
data = d;
}
void appendToTail(int d) {
Node end = new Node(d);
Node n = this;
while(n.next != null) {
n = n.next;
}
n.next = end;
}
void print() {
Node n = this;
while(n.next != null) {
System.out.println(n);
n = n.next;
}
}
public static void main(String [] args) {
Node x = new Node(4);
x.appendToTail(5);
x.print();
}
}
Run Code Online (Sandbox Code Playgroud)
print()我编写的函数是我尝试遍历链表的努力。但是,它不起作用。给定您自己的链表实现,有人知道如何遍历链表吗?
改变
while(n.next != null)
Run Code Online (Sandbox Code Playgroud)
到
while(n != null)
Run Code Online (Sandbox Code Playgroud)
因为在循环内部,您正在打印当前节点 n,然后通过以下方式将其指向下一个节点:n = n.next;