有哪些算法能在有序数列中快速找到一个数的位置
发布网友
发布时间:2022-04-28 22:56
我来回答
共1个回答
热心网友
时间:2022-06-24 18:18
二分查找
#include<iostream>
using namespace std;
int bin(int aim,int low,int high,int a[])
{
int mid;
while(low<=high)
{
mid=(low+high)/2;
if(a[mid]==aim)return mid;
else if(a[mid]<aim)low=mid+1;
else high=mid-1;
}
return -1;//没有找到
}
int main()
{
int a[10]={1,2,5,9,10,12,13,33,55,392};
int x;
scanf("%d",&x);
printf("pos=%d\n",bin(x,0,9,a));
return 0;
}