2016-03-27 7 views
1

[-100; 100]の間隔でCircular Doubly Linked Listのノードを数えなければなりません。私はノードを実装しているときにそれを行う方法を知っています。ここでは、コードです:リンクされたリスト内の特定のノードを数えるJava

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

    } 
+0

を追加することにより、ノードの値を確認することができます'?リンクされたリストノードにはデータアクセサメソッド 'getData()が必要です。 – mangusta

+0

はい、私はそのメソッドを持っていますが、この場合にどのように使用するのか分かりません。 – Eli

答えて

0

私が理解から、あなたは単にあなたがそのノードの値をチェックする方法 `何を意味

ptr.getval() or start.getval() //depending on the value of pos(aasuming getval is your function to retrieve node data) 
関連する問題