#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int bin_search(int arr[],int key,int left,int right)
{
while(left<=right)
{
int mid = left-(left-right)/2;
if(arr[mid]>key)
{
right = mid - 1;
}
else if(arr[mid]<key)
{
left = mid = 1;
}
else
{
return mid;
}
return -1; //因为0是下标,因此返回值可设定为-1,下标中无-1
int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9}
int ret =bin_search(arr,5,3,8)//意为在5与8之间寻找3
if(ret == -1)
printf("no\n");
else
{
printf("%d\n",ret);
}
system ("pause\n);
return 0;//此题输出结果为no
}利用函数bin_search实现折半查找
最新推荐文章于 2022-11-17 14:10:17 发布
本文介绍了一个简单的二分查找算法实现过程,通过C语言代码展示了如何在一个有序数组中查找特定元素的位置。该算法采用递归的方式不断缩小搜索范围直至找到目标元素或确定元素不存在于数组中。
914

被折叠的 条评论
为什么被折叠?



