public class Demo {
public static void main(String args[]){
int a[] = {0,1,2,3,4,5,6,7,8,9};
for(int i=0;i<a.length;i++) {//测试成功查找
System.out.println(binary(a,a[i]));
}
System.out.println(binary(a,20));//测试失败查找
System.out.println(binary(a,-2));
}
static int binary(int a[],int m) {
int low=0;
int high=a.length-1;
while(low<=high) {
int mid = (low+high)/2;
if(a[mid]==m)
return mid;
else if(a[mid]>m)
high = mid-1;
else if(a[mid]<m)
low = mid+1;
}
return -1;
}
}