因此,我阅读了几篇关于这个主题的文章,但它们都提到遍历已由 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();
}
}
print()
我写的函数是我试图遍历链表的努力。但是,它不起作用。鉴于您自己的链表实现,有人知道如何遍历链表吗?
最佳答案
改变
while(n.next != null)
到
while(n != null)
因为在循环中你正在打印当前的 node n
然后将它指向它的下一个 node 通过: n = n.next;
关于java - 遍历链表 Java 的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32599386/