【java】二分法查找

/**
 * 二分法查找
 * @author AnQi
 * @date 2020/3/15 20 10:04
 * @description
 */
public class demo02 {
    public static void main(String[] args) {

        int[] arr = {30, 20, 50, 10, 80, 9, 7, 12, 100, 40, 8};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));

        System.out.println(mySearch(arr,40));
    }

    public static int mySearch(int arr[], int value) {

        int low = 0;
        int high = arr.length - 1;
        while (low <= high) {
            int mid = (low + high) / 2;
            if (value == arr[mid]) {
                return mid;
            }
            if (value > arr[mid]) {
                low = mid + 1;
            }
            if (value < arr[mid]) {
                high = mid - 1;
            }

        }
        return -1;
    }
}
发布了130 篇原创文章 · 获赞 8 · 访问量 2842

猜你喜欢

转载自blog.csdn.net/ange2000561/article/details/104885705