#include<stdio.h>
void main()
{
int buf[10]={1,2,3,4,5,6,7,8,9,10};
int* left=buf,*right=buf+9,*mid=NULL;
int key=2;
scanf("%d",&key);
while(left<=right)
{
mid=left+(right-left)/2;
//两个同类型的指针相减就是中间相隔的元素个数,不能相加
if(*mid==key)
{
printf("%d的下标为%d\n",key,(right-left)/2);
break;
}
else if(*mid<key)
left=mid+1;
else
right=mid-1;
}
}
二分查找算法实现
本文介绍了一个使用C语言实现的二分查找算法示例。该算法在一个已排序的整型数组中查找指定的元素,并返回其下标。通过定义左、右指针并不断缩小搜索范围来实现查找过程。
1635

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



