アレイパッケージ、 パブリッククラスArrayFind { パブリック静的無効メイン(文字列[] args){ INT [] = {13,15,19,28,33,45,78,106 ARR}; int型キー= 15; int型のインデックス= binarySearch2(ARR 、KEY); のSystem.out.println(インデックス); } / * *配列の共通機能:検索 * / パブリック静的INT getIndex(INT [] ARR、INTキー){ ため(INT X = 0; X <arr.length ; X ++){ IF(ARR [X] ==キー) リターンX; } 戻り-1; } / ** *バイナリサーチ(規則配列用) * / パブリック静的INT binarySearch(INT [] ARR、INTキー) { // 3つのインジケータ変数の定義。 0分= INT; int型の最大値= arr.length - 1。 MID =(最大値+最小)/ 2をint型、 //バイナリサイクル、条件、最小<= maxの 一方{(キー=のARR [MID]!) //要素を検索し、比較し、中間インデックス要素作る (主IF> ARR [MID])を{ 1分+ = MID。 他}(キー<ARR [MID]){IF 最大= MID - 1; } {(MAX <min)のIF -1を返す; } MID =(最大値+最小)/ 2; } MIDを返す; } / ** * (規則配列用)バイナリサーチ * / パブリック静的INT binarySearch2(INT [] ARR、INTキー){ int型のMAX、MIN、MID、 分= 0; マックス= -arr.length 1; 一方(MIN <= MAX) { MID =(最大値+最小)>> 1; 他IF(キー<ARR [MID]) IF(キー> ARR [MID]) 分=ミッド+ 1; 最大=半ば- 1。 他の 半ばを返します。 } -1を返します。 } }