[C++] 纯文本查看 复制代码 #include<bits/stdc++.h>
using namespace std;
int a[1000000]={0};
int n,x;
int mid;
int f(int l,int r)
{
mid=(l+r)/2;
if (l>r)
{
return -1;
}
if (a[mid]==x)
{
return mid;
}
else if(a[mid]>x)
{
return f(l,mid-1);
}
else
{
return f(mid+1,r);
}
}
int main()
{
cin>>n;
for (int i=1;i<=n;i++)
{
cin>>a[i];
}
cin>>x;
cout<<f(1,n);
}
|