二分查找

public static int rank(int key,int[] a){
        int lo=0;
        int hi=a.length-1;
        while (lo<=hi){
            int mid = lo+(hi - lo) / 2;
            if (key<a[mid]) {
                hi = mid-1;
            } else if (key>a[mid]) {
                lo = mid+1;
            } else {
                return mid;
            }
        }
        return -1;
    }

 

posted @ 2018-12-03 15:30  正能量教官  阅读(122)  评论(0编辑  收藏  举报