计算链表Java中的特定节点

时间:2016-03-27 22:54:22

标签: java list count

我必须在区间[-100; 100]中计算循环双向链表中的节点。我知道在实现节点时如何做到这一点。这是代码:

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

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

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();
        }

    }

1 个答案:

答案 0 :(得分:0)

据我所知,您只需添加

即可查看节点的值
ptr.getval() or start.getval()   //depending on the value of pos(aasuming getval is your function to retrieve node data)