java實現折半查找
要求:查找的數組需要按照升序排列
原理:使用分支算法,將查找範圍每次縮小一半
步驟:
1.獲得數組的第一個索引,和最後一個索引,
2.查找值target==表中間位置的值,則查找成功
private static int searchKey(int [] arr,int target){
int low = 0;
int high = arr.length-1;
while (low <= high){
int mid = (low + high) >>>1;
if(target == arr[mid]){
return mid;
}
if(target < arr[mid]){
high = mid-1;
}else{
low = mid+1;
}
}
return -1;
}