您的位置:首页 > 编程语言 > C语言/C++

二分查找——C语言

2012-09-10 14:57 169 查看
进行二分查找的前提是数组已排序,这里假定数组递增排序。

每次查找都将待查找数num与处于数组中间位置a[mid]的数进行比较,num < a[mid]则在mid之前的元素中进行查找,反之在mid之后的元素中进行查找。

在函数中使用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 <= high )

{

mid = ( low + high ) / 2;

if( a[mid] > num )

high = mid - 1;

else if( a[mid] < num )

low = mid + 1;

else

return mid;

}

return -1 /*未查找到num返回-1*/

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: