#include<stdio.h>
// 二分法查找数据
/***********************/
int search(int a[],int length,int key);
/************************/
int search(int a[],int length,int key)
{
int low,high,mid;
low = 1;
high = length;
while(low <= high)
{
mid = (low+high)/2;
if(key < a[mid-1])
high = mid -1;
else if(key > a[mid-1])
low = mid + 1;
else
return mid-1;
}
return 0;
}
/***************************/
int main()
{
int arry[10];
int length=0;
int i;
arry[0] = 1;
arry[1] = 3;
arry[2] = 8;
arry[3] = 11;
length = 5;
if(i = search(arry,length,3))
printf("the value is %d\n",i);
else
printf("Not find\n");
}
二分法查找数据
最新推荐文章于 2023-01-01 21:40:46 发布
本文介绍了一种使用C语言实现的二分查找算法。通过定义一个名为search的函数来进行查找操作,该函数接收一个整数数组、数组长度及待查找的键作为参数。通过迭代方式不断缩小查找范围直至找到目标值或查找范围为空。最后,在main函数中进行了一个简单的测试案例。
1313

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



