我正在用 Java 编写一个链表的实现。我有两种方法,一种将元素放在列表前面:
public void addFront(int n){
Node temp=new Node(n);
if (llist==null){
first=temp;
}
else{
llist.next=temp;
}
llist=temp;
}
因此,如果我在列表中添加元素,例如:
l1.addFront(1)
l1.addFront(2)
l1.addFront(3)
它将打印:1、2 和 3
现在我有其他方法可以将元素放在后面,如下所示:
public void addBack(int n){
Node temp=new Node(n);
temp.next=llist;
llist=temp;
first=temp;
}
因此,如果我添加以下元素:
l1.addBack(4)
l1.addBack(5)
l1.addBack(6)
它将打印 6,5,4;到这里为止一切都很好;问题是当我想对最后一个列表执行以下操作时:
l1.addFront(9)
它只打印 9 和 6,但其他数字都丢失了,这是为什么呢?
我的打印方法是这样的:
public void print(){
Node curr=first;
while(curr!=null){
System.out.println(curr.e);
curr=curr.next;
}
}
谢谢