//二分查找算法:输入有序数列,指定要查找的值,返回其位置;
#include<stdio.h>
int main()
{
int a[100];
int i,n;
int x,t;
int left=0,right,mid;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&x);
right=n-1;mid=(right+left)/2;
while(left<=right)
{
t=a[mid];
if(x>t)
{
left=mid+1;
mid=(right+left)/2;
}
else if(x<t)
{
right=mid-1;
mid=(right+left)/2;
}
else
{
printf("%d",mid+1);
return 0;
}
}
printf("0");
return 0;
}
二分查找算法
最新推荐文章于 2020-04-06 10:15:59 发布