#include<iostream>
#include<vector>
using namespace std;
void ef(vector<int> &a,int l,int r,int k){
while(l<=r)
{
int mid=(l+r)/2;
if(a[mid]==k){
cout<<mid+1;
break;}
else if(a[mid]>k)
ef(a,l,mid-1,k);
else
ef(a,mid+1,r,k);
}
}
void QuickSort(vector<int>&arr,int l,int r){
if(l>=r)
return ;
int i,j,base,temp;
base=arr[l];
i=l,j=r;
while(i<j)
{
while(arr[j]>=base&&i<j)
j--;
while(arr[i]<=base&&i<j)
i++;
if(i<j){
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
arr[l]=arr[i];
arr[i]=base;
QuickSort(arr,l,i-1);
QuickSort(arr,i+1,r);
}
int main(){
vector<int> b;
int n,k;
do{
cin>>n;
b.push_back(n);
}while(cin.get()!='\n');
cin>>k;
QuickSort(b,0,b.size()-1);
for(int i=0;i<b.size();i++)
cout<<b[i]<<" ";
cout<<endl;
ef(b,0,b.size()-1,k);
return 0;
}
数组(二分查找快速排序)
最新推荐文章于 2022-04-25 23:40:28 发布