二分法查找的思想:在二分法查找中,我们用到三个变量,min,mid,max通过这三个变量进行运算和替换就可以找出相应的索引。前提是数组已经排序完成了
public static int halfSeach_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;
}
else if(key<arr[mid])
max = mid - 1;
if(max<min)
return -1;
mid = (max+min)>>1;
}
return mid;
}