在链表(Java)中插入值时遇到问题?
在链表(Java)中插入值时遇到问题?,java,linked-list,Java,Linked List,您好,我是java中LinkedList的新手,在向链接列表中插入值时遇到困难。程序编译成功,我只能在链表中添加几个数字。如果有人能解释一下为什么会发生这种情况,并提出解决办法,这会有所帮助 如果可能,请查看并发布解决方案? 非常感谢 您的append()方法中的逻辑不正确。遍历到列表末尾后,需要在最后一个位置插入新节点: public void append(int data) { if (head == null) { head = new LNode(data)
您好,我是java中LinkedList的新手,在向链接列表中插入值时遇到困难。程序编译成功,我只能在链表中添加几个数字。如果有人能解释一下为什么会发生这种情况,并提出解决办法,这会有所帮助
如果可能,请查看并发布解决方案? 非常感谢
您的
append()
方法中的逻辑不正确。遍历到列表末尾后,需要在最后一个位置插入新节点:
public void append(int data) {
if (head == null) {
head = new LNode(data);
return;
}
LNode temp = head;
while (temp.next != null) {
temp = temp.next;
}
temp.next = new LNode(data);
}
您的
prepend()
方法看起来不错。我没有测试你的删除方法,它可能也有问题。这个答案直接回答了您上面的问题。它在您的append方法中:
LNode temp = head;
while(temp.next!=null) {
temp=temp.next;
}
temp = new LNode(data);
当while循环结束时,temp将指向列表中的最后一项。但是你把它和下一行的作业一起扔掉。应该是
temp.next = new LNode(data);
你需要告诉我们所有的问题是什么(我看到其中几个)。您的代码当前发生了什么,哪些不应该发生?
temp.next = new LNode(data);