public static int binarySearch(int[] a, int target) {
    int i = 0, j = a.length - 1;
    int candidate = -1;
    while (i <= j) {
        int m = (i + j) >>> 1;
        if (target < a[m]) {          
            j = m - 1;
        } else if (a[m] < target) {   
            i = m + 1;
        } else {
            candidate = m;
            j = m - 1;
        }
    }
    return candidate;
}
索引
候选
元素个数  待查找值  动画速度(ms)  所用次数:?