数组二分法寻找一个数
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[]={9,8,7,6,5,4,3,2,1};
int b=halfSelect(a,7);
System.out.println("该值为数组第"+b+"位");
}
public static int halfSelect(int a[],int key){
int low=0;
int high=a.length-1;
while(high>=low){
int mid=(low+high)/2;//计算中间位置
if(key==a[mid]){
return mid;
}
if(key<a[mid]){
low=mid+1;
}
if(key>a[mid]){
high=mid-1;
}
}
return -1;
}