public static void main(String[] args) {
int arr[]={1,2,3,4,5,6,7,8,9};
int index=BinarySearch(arr,0,arr.length,7);
System.out.println(index);
}
/**
*
* @param arr 数组
* @param left 左边坐标
* @param right 右边坐标
* @param find 需要查找的数据
* @return 坐标
*/
private static int BinarySearch(int[] arr, int left, int right, int find) {
int min = (left+right)/2; // 取出中间值
int minVal=arr[min];
if(left>right){
return -1;
}
if(find<minVal){
return BinarySearch(arr,left,min-1,find);
}else if(find>minVal) {
return BinarySearch(arr,min+1,right,find);
}else {
return min;
}
}
二分查找法
最新推荐文章于 2024-08-24 22:01:16 发布