public static int halfSearch(int[] arr, int number) {
int min = 0;
int max = arr.length-1;
int mid = 0;
while (min <= max ) {
mid = (max + min)/2;
if (number > arr[mid])
min = mid+1;
else if (number < arr[mid])
max = mid-1;
else
return mid;
}
return -1;
}
//上面这个是标准版本的折半查找方法
public static int half(int[] arr, int number) {
int min = 0;
int max = arr.length;
int mid = 0;
while (min <= max ) {
mid = (max + min)/2;
if (number > arr[mid])
min = mid;
else if (number < arr[mid])
max = mid;
else
return mid;
}
return -1;
}
这个是我觉得可以达到一样效果的,我试着运行一下结果一样,请问我这个方法是不是可以代替上面那个了,毕竟不是代码越精简越好吗?
