int bin_search(int a[],int len,int key)
{
int low=0;
int high=len-1;
while(low<=high) //若为low<high; e.g.1,2,3,4,5 如果search 5 ,最终 low==high=4(指的是下标,从0开始。而循环
//体 不执行。
{
int mid=low+(high-low)/2;
if(a[mid]==key) return mid;
else
if(a[mid]<key)
low=mid+1;
else
high=mid-1;
}
if(low>high)
return -1;
}
本文详细介绍了二分查找算法的实现原理及代码细节,通过一个具体的C语言函数示例,展示了如何在一个有序数组中查找指定元素的位置。文章还讨论了循环终止条件的影响,并解释了不同情况下返回值的意义。
216

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



