输入数组必须是从小到大排列
/*
* x:要查找的数字
* array[]:输入的数组
* len:数组长度
*/
int binsearch(int x, int array[], int len)
{
int low = 0,high = len-1,mid;
while (low <= high)
{
mid = (low + high) / 2;
if (x > array[mid])
{
low = mid + 1;
}
else if (x < array[mid])
{
high = mid - 1;
}
else
{
return mid; //返回要查找数的下表
}
}
return -1;
}