计算链表java中的特定节点

2ekbmq32  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(187)

我必须在区间[-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();
        }

    }
vhipe2zx

vhipe2zx1#

据我所知,您可以通过添加

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

相关问题