BinarySearch

    public int indexOf(int[] array, int data) {
        if (array == null || array.length == 0)  {

             return -1; 

        }


        int begin = 0;
        int end = array.length;
        while (begin < end) {
            int mid = (begin + end) >> 1;
            if (data < array
[mid]) {
                end = mid;
            } else if (data > array
[mid]) {
                begin = mid + 1;
            } else {
                return mid;
            }
        }

        return -1;
    }

你可能感兴趣的:(常用算法)