[英]Counting specific nodes in linked list Java
I have to count nodes in Circular Doubly Linked List in interval [-100;100]. 我必须在间隔[-100; 100]中计算循环双链表中的节点。 I know how to do that when i'm implementing a node.
我知道在实现节点时该怎么做。 Here's code :
这是代码:
public void insert(int val){
....
if((val >= -100) && (val <= 100)){
number++;
}
.....
But when i'm deleting a node at given position (pos), i have no idea how to check the value of that node, so i don't know if "number" stays the same or it decreases. 但是,当我要删除给定位置(pos)上的节点时,我不知道如何检查该节点的值,因此我不知道“数字”是保持不变还是减少。 Here is code of deleting node:
这是删除节点的代码:
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.