您的位置:首页 > 其它

用二分法查找数组中的元素

2019-07-03 15:04 78 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_45144120/article/details/94553264
用二分法查找数组中的某个元素,首先数组中的元素必须是有序的,然后查找想要的元素,返回其下标值。
#include <stdio.h>

int BinSerach(int arr[],int len,int key)
{
int low=0;
int high=len-1;
int mid;
while(low<=high)
{
mid=(low+high)/2;
if(key==arr[mid])
{
return mid;
}
else if(key<arr[mid])
{
high=mid-1;
}
else
{
low=mid-1;
}
}
return -1;
}

int main()
{
int arr[]={2,4,6,8,10,24};  //定义一个数组
printf("%d \n",BinSerach(arr,6,4));   //输入数组长度和想要查找的值。
return 0;
}

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190703150357121.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTE0NDEyMA==,size_16,color_FFFFFF,t_70)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: