#include<bits/stdc++.h> using namespace std; void happy(int a[1000],int n,int m){ int i=m,j=n,t=a[m]; if(i>j)return ; while(i!=j){ while(a[j]>=t&&i<j){ j--; } while(a[i]<=t&&i<j){ i++; } if(i<j)swap(a[i],a[j]); } swap(a[m],a[i]); happy(a,i-1,m); happy(a,n,i+1); // for(int i=0;i<n;i++){ // for(int j=n;j<i;j--){ // // } // } } int main(){ int n,m=0; cin>>n; int a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } happy(a,n-1,0); for(int i=0;i<n;i++){ cout<<a[i]<<' '; } // for(int i=0;i<n-1;i++){ // for(int j=n;j<=i;j--){ // // } // } return 0; }
标签:std,return,int,while,排序,快速,happy From: https://www.cnblogs.com/w6826301/p/18249034