//实现二分查找
public static int binarySearch(int[] arr,int toFind){
int left = 0;
int right = arr.length-1;
while(left <= right){
int mid = (left+right)/2; //中间元素下标
if(toFind < arr[mid]){
//去左侧找
right = mid - 1;
}else if(toFind > arr[mid]){
//去右侧找
left = mid + 1;
}else{
//找到了
return mid;
}
}
//没找到
return -1;
}
public static void main(String[] args) {
int[] array = {3,7,8,5,2,1,6};
// int toFind = 5;
System.out.println(binarySearch(array,5));
}
代码实现
运行结果: 输入toFind:5 输出:下标3
思路:
先