gpt4 book ai didi

java - 如何在Java中添加到链表的开头

转载 作者:行者123 更新时间:2023-12-02 00:50:52 26 4
gpt4 key购买 nike

我正在为家庭作业创建一个链表函数,该函数在除最后一个之外的任何索引处添加,但我不明白如何创建条件targetList.addToIndexAt(81,0); 没有哨兵节点

编辑 好的,我解决了所有问题,除了一个问题。这次,代码运行代码表明结果是81,0,0,0,0,这意味着after在代码的每个周期都返回到0 。 如何让 after=after.tail 保留它的编号?

public void addToIndexAt(int n, int index){
IntList addition = new IntList(n);
if(index==0){ //THIS IS MY PROBLEM
IntList beginning=this;
IntList after=this;
IntList current=this;
IntList temp=this;
while(after.tail!=null){
after=after.tail;
temp=after;
after.head=current.head;
}
beginning.head=n;
}
else{
IntList after = this;
IntList before = this;
int nafter = index;
int nbefore = index;
while(nafter>0){
after = after.tail;
nafter--;
}
addition.tail = after;
while(nbefore>1){
before = before.tail;
nbefore--;
}
before.tail= addition;
}
}

最佳答案

看来您将 Node 类视为与 List 类相同。对我来说,这些是不同的。我建议创建一个名为 List 的类,它保存对列表中第一个节点的引用。

或者,您可以尝试稍微更改代码,其中插入方法返回列表的新头。

关于java - 如何在Java中添加到链表的开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3285435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com