#include <iostream>
using namespace std;
//
int Partition(int A[], int p,int r){
int x = A[r];
int i = p - 1;
for(int j = p; j<r; j++){
if (A[j] <= x){
i = i + 1;
swap(A[i],A[j]);
}
}
swap(A[i+1],A[r]);
return i + 1;
}
void QuickSort(int A[],int p,int r){
if(p < r){
int q = Partition(A, p, r);
QuickSort(A,p,q-1);
QuickSort(A,q+1,r);
}
}
int main(){
int a[100];
int size;
while(cin>>size){
for(int i=1;i<=size;i++){
cin>>a[i];
}
QuickSort(a,1,size);
for(int i=1;i<=size;i++){
cout<<a[i]<<" ";
}
}
return 0;
}
算法导论 经典算法实现 quicksort
最新推荐文章于 2018-10-07 16:06:51 发布