在链表(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);