二分法查找
程序员文章站
2022-04-30 22:48:50
...
用二分法查找数组中某一个元素的下标。ps:二分法查找只适用于有序数组
二分法原理图(来源网络):
int[] arr = new int[]{1,2,3,4,5,6,7,8,9,10};
public int binarySearch(int value){
int middle = 0;//中间索引值
int low = 0;
int high = arr.length - 1;
while(low <= high){
middle = (high+low)/2;
if(arr[middle]==value){
return middle;
}
if(arr[middle] > value){//中间值比较大,往左边找
high = middle - 1;
}else{//往右边找
low = middle + 1;
}
}
return -1;
}
调用
binarySearch(8);
结果是7
上一篇: 二分法查找的java实现
下一篇: 二分法查找一个数问题