#include<iostream>
using namespace std;
int main()
{
int a[]={-90,-32,12,16,24,36,45,59,98,120};
int n=sizeof(a)/sizeof(a[0]);
int x;
while(cin>>x)
{
int f=0,low=0,high=n-1,mid=(low+high)/2,count=0;
while(low<=high)
{
count++;
if(x>a[mid])
{
low=mid+1;
}
else if(x<a[mid])
{
high=mid-1;
}
else if(x==a[mid])
{
cout<<"第"<<mid+1<<"个元素"<<endl;
cout<<"比较次数"<<count<<"次"<<endl;
f=1;
break;
}
mid=(low+high)/2;
}
if(f==0)
cout<<"查找失败 比较次数"<<count<<"次"<<endl;
}
}
推免复习-北理2017年第二题-二分查找
最新推荐文章于 2023-04-13 17:06:35 发布