题样

int Search(int *p, int n, int k,int *Count)
{
int low=0,high=n-1,mid=0;
*Count=0;
while(low<=high)
{
mid=(low+high)/2;
if(p[mid]>k)
{
high=mid-1;
*Count=*Count+1;
}
else
{
if(p[mid]==k)
{
*Count=*Count+1;
break;
}
else if(p[mid]<k)
{
low=mid+1;
*Count=*Count+1;
}
}
}
if(low<=high)
{
return mid;
}
else return -1;
}
感谢博主 反手敲代码
该篇博客详细介绍了使用C语言实现的二分查找算法,包括算法逻辑、代码实现以及查找过程中计数的优化。通过对`intSearch`函数的解析,展示了如何在有序数组中查找目标值并返回其位置,同时统计小于目标值的元素个数。适合于理解二分查找原理和实践应用。
1635

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



