阅读背景:

算法与数据结构(13)—— 二分查找(递归与非递归)

来源:互联网 

递归

private static int find(Comparable[] arr, int l, int r, Comparable target){
        if(l > r) return -1;

        int mid = (r-l)/2 + l;

        if(arr[mid].compareTo(target) == 0)
            return mid;
        else if(arr[mid].compareTo(target) > 0)
            return find(arr, l, mid-1, target);
        else
            return find(arr, mid+1, r, target);
    }

    public static int find(Comparable[] arr, Comparable target){
        return find(arr, 0, arr.length-1, target);
    }private static int find(Comparable[] arr, 



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: