输出的链表代码编号与输入的编号不匹配



在这段java代码中,当我在链表中输入4个整数类型的数字时,它只显示前3个作为输出所以你可以指导为什么会这样。当我在链表中只给出1个值时,当我给出2个值时它不会出现,它只显示第一个值作为输出。

这里只有输出显示4、34和5,但没有显示50。我不明白代码出了什么问题?

enter code here
import java.lang.*;
public class Main{
Node head;
static class Node{
int data;
Node next;
public Node(int d){
data=d;
next=null;
}
}

public void insertFirst(int data)
{
Node n=new Node(data);
n.next=head;
head=n;
}
public void insertLast(int data){
Node n=new Node(data);
if(head==null) {
head = n;
}        else{
Node t=head;
while(t.next!=null)
{   t=t.next;}
t.next=n;
}
}
public void display(){
Node n=head;
if(n==null)
System.out.println("empty");
else
{
while(n.next!=null)
{
System.out.print(n.data+" ");
n=n.next;
}
}
}
public static void main(String [] args){
Main m=new Main();
m.insertFirst(34);
m.insertFirst(4);
m.insertLast(5);
m.insertLast(50);
m.display();
}
}

当您到达最后一个节点node.next == null时,您不会打印它。

您需要更改display()方法中的条件。

while(n.next!=null)更改为while(n != null)。最后一个节点有n.next == null,但您仍然应该打印它

相关内容

  • 没有找到相关文章

最新更新