#include<stdio.h>
int main()
{
int a[]={11,22,33,44,55,66,77,88,99,100};
int b = 66;
int sz = sizeof(a)/sizeof(a[0]);//计算数组中的元素个数
int left = 0;//左下标
int right = sz - 1;//右下标
while(left<=right)
{
int mid = (left+right)/2;//二分查找算法
if(a[mid]>b)
{
right = mid - 1;
}
else if(a[mid]<b)
{
left = mid + 1;
}
else
{
printf("元素66的下标为:%d\n",mid);
break;
}
}
if(left>right)
{
printf("不存在元素66\n");
}
return 0;
}
用二分法在一个有序数组中查找某个具体元素的下标。
最新推荐文章于 2022-12-04 21:10:23 发布