输入数组的个数,输入要查找的数,输入完成,对该数组进行从小到大的排序,若该数存在于数组中,则返回数组中该数的对应下标,否则返回-1。
#include<bits/stdc++.h>
using namespace std;
int a[1001];
bool cmp(int x,int y)
{
return x>y;
}
int erfen(int a[],int x,int n)
{
int left=0,right=n-1;
while(left<=right)
{
int mid=(left+right)/2;
if(x==a[mid])
{
return mid;
}
else if(x>a[mid])
{
left=mid+1;
}
else
{
right=mid-1;
}
}
return -1;
}
int main()
{
int n,x,q;
cin>>n>>x;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n,cmp);
q=erfen(a,x,n);
cout<<q;
return 0;
}