进行二分查找的前提是数组已排序,这里假定数组递增排序。
每次查找都将待查找数num与处于数组中间位置a[mid]的数进行比较,num
在函数中使用low, mid, high来对待查找的范围来进行标记。
参考代码如下:
/*整数查找*/
void binsearch( int num, int a[], int length ) /*num为待查找数字,length为数组a的长度*/
{
int low, mid, high;
low = 0;
high = length - 1;
while( low
{
mid = ( low + high ) / 2;
if( a[mid] > num )
high = mid - 1;
else if( a[mid]
low = mid + 1;
else
return mid;
}
return -1 /*未查找到num返回-1*/
}
©本文版权归作者所有,任何形式转载请联系我们:xiehuiyue@offercoming.com。