WJP
919497158@qq.com
🐎!二分法工具类
public static int halfSearch(int[] arr,int key){
            int min,max,mid;//分别为最小值,最大值,和中间值
            min = 0;
            max = arr.length - 1;
            mid = (max + min)/2;//这应该就是二分的核心了,
            //当key = arr[mid]说明已经找到了这个数据,所以while循环的条件是!=
            while(arr[mid] != key){
                if(key > arr[mid]){
                    min = mid + 1;
                }else if(key < arr[mid]){
                    max = mid - 1;
                }
                //返回-1表示没有找到
                if(max < min){
                    return -1;
                }
                mid = (max + min)/2;
            }
            //返回值为对应key值得下标
            return mid;
}

转自:小白目标大牛 https://www.cnblogs.com/ggzhangblog/p/6367712.html

wjp

文章作者

发表评论

textsms
account_circle
email

🐎!二分法工具类
public static int halfSearch(int[] arr,int key){ int min,max,mid;//分别为最小值,最大值,和中间值 min = 0; max = arr.length - 1; …
扫描二维码继续阅读
2021-01-25