二分法检索,又称折半检索,基本思想是先把数组排好序,将给定值与中位数比大小,来进行分半比较
import java.util.Arrays;
public class BinarySearch {
/*
二分法检索,又称折半检索,基本思想是先把数组排好序,将给定值与中位数比大小,来进行分半比较
*/
public static void main(String[] args) {
int[] a={30,45,10,32,50,10,24,3,15,24};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
System.out.println(myBinarySearch(a,100));
}
public static int myBinarySearch(int[] a,int b){
int low =0;
int high=a.length-1;
while (low<=high){
int mid=(low+high)/2;
if (a[mid]==b){
return mid;
}
if (a[mid]>b){
high=mid-1;
}
if (a[mid]<b){
low=mid+1;
}
}
return -1;
}
}