//二分搜索 次数 log2n 100-->7次
//必须是排好序的
#include <stdio.h>
#include <stdlib.h>
int search(int k,int a[],int len)
{
int ret = -1;//表示结果的变量
int left = 0;
int right = len-1;
while(right>left)
{
int mid = (left+right)/2;
if(a[mid]==k)
{
ret = mid;
break;
}
else if(a[mid]>k)
{
right = mid-1;
}
else
{
left = mid+1;
}
}
return ret;
}
int main(void)
{
int amount[10] = {1,2,3,4,5,6,7,8,9,10};
int key = 5;
int r = search(key,amount,sizeof(amount)/sizeof(amount[0]));
printf("%d 的 index = %d\n",key,r);
system("pause");
return 0;
}
中国大学mocc笔记c语言二分搜索
最新推荐文章于 2022-10-13 23:44:39 发布
本文深入探讨了二分搜索算法的实现,展示了如何在已排序的数组中查找特定元素,通过具体的C语言代码示例,解释了算法的工作原理及其效率,log2n表示搜索次数,对于100个元素只需7次比较。
4010

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



