快速排序
#include<bits/stdc++.h>
using namespace std;
int quick_sort(vector<int>&num,int low,int high){
int x=num[low];
while(low<high){
while(low<high&&x<num[high]){//往下找
high--;
}
if(low<high){
num[low]=num[high];
low++;
}
while(low<high&&x>num[low]){
low++;
}
if(low<high){
num[high]=num[low];
high--;
}
}
num[low]=x;
return low;
}
void sum_sort(vector<int>&num,int low,int high){
int pos=0;
if(high>low){
pos=quick_sort(num,low,high);
sum_sort(num,low,pos-1);
sum_sort(num,pos+1,high);
}
}
int main(){
int n;
cin>>n;
int a;
vector<int> num;
for(int i=0;i<n;i++){
cin>>a;
num.push_back(a);
}
vector<int>::iterator it;
sum_sort(num,0,n-1);
for(it=num.begin();it!=num.end();it++){
cout<<*it<<" ";
}
cout<<endl;
return 0;
}