package test;
import java.util.Arrays;
public class BinarySearch {
public static void main(String args[]) {
int [] a= {6,5,3,22,9,14,56};
Arrays.sort(a);
binarySearch(0,a.length,4,a);
}
/*
*参数分别为左右索引,目标值,查找的数组
* */
static void binarySearch(int leftIndex,int rightIndex,int val,int []arr) {
int midIndex=(leftIndex+rightIndex)/2;
int midVal=arr[midIndex];
if(rightIndex>=leftIndex) {
if(midVal>val) { //左边查找
//目标值在中间值的左边
binarySearch(leftIndex,midIndex-1,val,arr);
}else if(midVal<val) {//右边查找
//目标值在中间值右边
binarySearch(midIndex+1,rightIndex,val,arr);
}else if(midVal==val) {
System.out.println("找到了,在数组的第"+midIndex+"位");
}
}
}
}
import java.util.Arrays;
public class BinarySearch {
public static void main(String args[]) {
int [] a= {6,5,3,22,9,14,56};
Arrays.sort(a);
binarySearch(0,a.length,4,a);
}
/*
*参数分别为左右索引,目标值,查找的数组
* */
static void binarySearch(int leftIndex,int rightIndex,int val,int []arr) {
int midIndex=(leftIndex+rightIndex)/2;
int midVal=arr[midIndex];
if(rightIndex>=leftIndex) {
if(midVal>val) { //左边查找
//目标值在中间值的左边
binarySearch(leftIndex,midIndex-1,val,arr);
}else if(midVal<val) {//右边查找
//目标值在中间值右边
binarySearch(midIndex+1,rightIndex,val,arr);
}else if(midVal==val) {
System.out.println("找到了,在数组的第"+midIndex+"位");
}
}
}
}