A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© satana 中级黑马   /  2016-5-24 22:17  /  223 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


//二分查找法。必须有前提:数组中的元素要有序。
    public static inthalfSeach_2(int[] arr,int key){
        int min,max,mid;
        min = 0;
        max =arr.length-1;
        mid =(max+min)>>1; //(max+min)/2;
        while(arr[mid]!=key){
             if(key>arr[mid]){
                 min = mid+ 1;
             }
             elseif(key<arr[mid])
                 max = mid- 1;
             if(max<min)
                 return-1;
             mid =(max+min)>>1;  
        }
        return mid;
    }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马