JAVA.SE二分查找

1.概念

給定數組,必須有自然順序,從中取某個元素的索引,與中間的數字進行比較

在這裏插入圖片描述

2.代碼實現:

package com.itcast.Text03;

public class Text02 {
    public static void main(String[] args) {
        int[] arr = {10,20,30,40,50,60,70,88,90};
        int key = 88;
        int binary = binary(arr, key);
        System.out.println(binary);
    }

    public static int binary(int[] arr, int key) {
        int left = 0;
        int right = arr.length - 1;
        while (left < right) {
            int middle = (left + right) / 2;
            if (arr[middle] > key) {
                right = middle - 1;
            } else if (arr[middle] < key) {
                left = middle + 1;

            } else {
                return middle;
            }
        }
        return -1;
    }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章