二分法要求被查求的元素有序\
package aaaaa;
public class BinarySearch {
public static void main(String[] args) {
int[] arr = {7,9,0,5,6,0,0,2,2};
int index = binarySearch(arr,200);
System.out.println(index == -1 ? "该元素不存在" :"该元素下标是" + index);
}
public static int binarySearch(int[] arr,int i) {
//先定义开始下标、结束下标,中间下标
int begin = 0;
int end = arr.length - 1;
//只要begin还在end的左边,就可以继续循环
while(begin <= end)
int mid = (begin + end) / 2;
if(arr[mid] == dest){
return mid;
} else if(arr[mid] < dest){
//即目标在“中间”的右边
//开始元素下标需要发生变化
begin = mid + 1;
} else {
//目标在“中间”的左边
//结束元素的下标需要发生变化
end = mid - 1;
}
}
return -1;
}
}