我正在尝试实现链表,但我不明白这段代码有什么问题。 进入无限循环打印 1...第一次调用 insert() 时实例化起始节点
节点
public class Node {
int data;
Node next;
public Node(int data, Node next) {
super();
this.data = data;
this.next = next;
}
public Node()
{
super();
}
}
链接列表
public class LinkedList {
Node start = null;
void insert(int value)
{
Node current;
current = start;
if(start == null)
{
start = new Node(value, null);
start.data = value;
start.next = null;
}
else
{
while(current.next != null)
{
current = current.next;
}
current.next = new Node();
current.next.data = value;
current.next.next = null;
}
}
void show()
{
Node curr = start;
while(curr.next != null)
{
System.out.println(curr.data);
}
}
public static void main(String[] args) {
LinkedList ll = new LinkedList();
ll.insert(1);
ll.insert(7);
ll.insert(5);
ll.insert(3);
ll.insert(9);
ll.show();
}
}
最佳答案
更改您的 show()
方法,如下所示:
void show() {
Node curr = start;
while (curr.next != null) {
System.out.println(curr.data);
curr = curr.next; // This part was missing.
}
}
关于java - 链表实现 - 在无限循环中打印第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34736509/