`
夏文权
  • 浏览: 237386 次
  • 性别: Icon_minigender_1
  • 来自: 贵州
社区版块
存档分类
最新评论

二分法

 
阅读更多
    public static int search(int[] array,int start,int end,int T) {
        int mid = 0;
        int len=end-start+1;
        if(len==2){
            System.err.println("the number not in this array!");
            return -1;
        }
        if (len % 2 == 0) {
            mid = start+len / 2;
        } else {
            mid = start+(len - 1) / 2;
        }

        if(T==array[mid]){
            return mid;
        }

        return search(array,T>array[mid]?mid:start,T<array[mid]?mid:end,T);

    }

    public static void main(String[] args) {
        int[] array = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

        System.out.println(search(array,0,array.length,0));
    }

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics