package array;
public class VarArgs {
public static void main(String[] args) {
// 二分法进行查找在有序的数组中
int[] a = {1,2,3,4,5,7,9,12,23,45,56,67,89,97};
int b = binarySearch(a,5);
System.out.println("要查找的数在第 "+(b+1));
}
public static int binarySearch(int[] list,int key)//运用二分法进行数的查找
{
int low = 0;
int high = list.length-1;
while(high>=low) {
int mod = (low+high)/2;
if(key<list[mod])//在中间的左侧
high = mod-1;
else if(key==list[mod])//正好在中间
return mod;
else//在中间的右侧
low = mod+1;
}
return -low-1;//如果找到返回下标,否则返回-1
}
}