题解!二分查找(正常的)
2024-01-07 10:03:17
发布于:广东
290阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,a[105],x;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
cin>>x;
int lef=1,rig=n;
while(lef<=rig)
{
int mind=(lef+rig)>>1;
if(a[mind]==x)
{
cout<<mind<<endl;
return 0;
}
else if(a[mind]>x)
{
rig=mind-1;
}
else if(a[mind]<x)
{
lef=mind+1;
}
}
cout<<-1;
return 0;
}
全部评论 2
……
2024-01-07 来自 广东
0谢谢你,好心人
2024-01-07 来自 广东
0
有帮助,赞一个