2016-10-22 9 views
0

私はバイナリ検索を使用しているときに、配列のnull値を検証する必要があります。ときバイナリ、私は4の検索を行う、私はベクトル[1,2,3,4,null,null,null]を持ってJava、バイナリ検索でnullを検証する必要があります

  • 、および
  • public String search(int search) { 
    
        int first = 0; 
        int last = vector.length - 1; 
        int center; 
        while (first <= last) { 
         center = (first + last)/2; 
    
         if (search == vector[center].getValue() { 
          return "Found: " + vector[center].getIdentificationValue() + "\n"; 
         } else if (search < vector[center].getValue) { 
          first = center - 1; 
         } else { 
          last = center + 1; 
         } 
        } 
        return "Not Found"; 
    } 
    

    私がしなければならない検証は次のとおりです。

    私はこのコードを持っています検索はnullにpos [0]の値で再開します。

+0

「ベクトル」が何であるか教えていただければ助かります。 –

+0

ベクトルは[1,2,3,4、null、null、null]です – iHackTIme

+0

はテストのための単なるベクトルです – iHackTIme

答えて

0

アレイには、nullが含まれてはなりません。あなたの例では、配列の最後にnullが発生したように見えます。いくつの配列要素が「良い」か分かっている場合は、(0, firstNullIndex)の範囲でバイナリ検索を実行してください。

関連する問題