首页 > 硬件测评 > 正文内容

c语言二分查找法代码

时间:2024-07-16 22:01:17

搜索(C语言代码)及解释

对于有序的整型数组 1、2、3、4、5的二分查找过程如下

C语言代码如下:

# include <stdio.h> int BinarySearch ( int a [ ] , int x , int n ) ; //定义一个有返回值的函数参数为所查询的数组a、查询的目标x、数组的长度n int main ( ) { int a [ 5 ] = { 1 , 2 , 3 , 4 , 5 } , y ; //定义顺序数组 y = BinarySearch ( a , 2 , 5 ) ; //调用函数 printf ( "%d\n" , y ) ; //输出结果 return 0 ; } int BinarySearch ( int a [ ] , int x , int n ) { int left = 0 , right = n - 1 , mid ; //left和right分别指向数组的头和尾 while ( left <= right ) { mid = ( left + right ) / 2 ; //将整个数组二分 if ( a [ mid ] == x ) //判断中间位置的数与要查找的数的关系 return mid ; //如果相等返回数的位置 if ( a [ mid ] < x ) left = mid + 1 ; //不相等重新划分查找范围 else right = mid - 1 ; } return - 1 ; //整个数组没有要找的数返回-1 }

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益, 请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。
标签:硬件测评

快测评广州东远堂信息科技有限公司版权所有 量子科技网提供支持 粤ICP备15011623号