gpt4 book ai didi

java - Java 计算链表中特定节点的数量

转载 作者:太空宇宙 更新时间:2023-11-04 12:46:41 26 4
gpt4 key购买 nike

我必须以 [-100;100] 的间隔对循环双向链表中的节点进行计数。当我实现节点时,我知道如何做到这一点。代码如下:

public void insert(int val){
....
if((val >= -100) && (val <= 100)){
number++;
}
.....

但是当我删除给定位置(pos)的节点时,我不知道如何检查该节点的值,所以我不知道“number”是否保持不变或减少。删除节点的代码如下:

public void deleteAtPos(int pos){
if (pos == 1){
if(size == 1){
start = null;
end = null;
size = 0;
number = 0;
return;
}
start = start.getLinkNext();
start.setLinkPrev(end);
end.setLinkNext(start);
size--;
return;
}
if (pos == size){
end = end.getLinkPrev();
end.setLinkNext(start);
start.setLinkPrev(end);
size--;
}
}
Node ptr = start.getLinkNext();
for (int i = 2; i <= size; i++){
if (i == pos){
Node p = ptr.getLinkPrev();
Node n = ptr.getLinkNext();
p.setLinkNext(n);
n.setLinkPrev(p);
size--;
return;
}
ptr = ptr.getLinkNext();
}

}

最佳答案

据我了解,您可以通过添加来简单地检查节点的值

ptr.getval() or start.getval()   //depending on the value of pos(aasuming getval is your function to retrieve node data)

关于java - Java 计算链表中特定节点的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36253655/

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