二分查找

public class Test2 {

    public static void main(String[] args) {
        int[] array = new int[]{2, 4, 7, 9, 10, 55, 67};
        System.out.println(binarySearch(array, 1));
    }

    public static int binarySearch(int[] array, int x) {
        if (null == array) {
            return -1;
        }

        int begin = 0;
        int end = array.length - 1;

        while (begin <= end) {
            int middle = (begin + end) / 2;
            if (array[middle] == x) {
                return middle;
            } else if (array[middle] > x) {
                end = middle - 1;
            } else {
                begin = middle + 1;
            }
        }
        return -1;
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容