#include <iostream> #include<bits/stdc++.h> using namespace std; void quicksort(vector<int>&v,int l,int r) { if(l>=r) return ; int val=v[l]; int ll=l,rr=r; while(ll<rr) { while(rr>ll&&v[rr]>=val) rr--; if(rr>ll) v[ll++]=v[rr]; while(ll<rr&&v[ll]<val) ll++; if(rr>ll) v[rr--]=v[ll]; } v[ll]=val; //cout<<l<<‘ ‘<<r<<endl; quicksort(v,l,ll-1); quicksort(v,ll+1,r); } int main() { int n; cin>>n; vector<int> v; for(int i=1;i<=n;i++) { int x; cin>>x; v.push_back(x); } quicksort(v,0,n-1); for(int x:v) { cout<<x<<‘ ‘; } cout<<endl; return 0; }
原文:https://www.cnblogs.com/acmLLF/p/14587827.html