快速排序

#include<iostream>
using namespace std;
int r[100]={0};
int n;
int Partition(int i,int j){//单趟快速排序
     r[0]=r[i]; int x=r[i];
     while(i<j){
         while(i<j&&r[j]>=x) j--;
         r[i]=r[j];
         while(i<j&&r[i]<=x) i++;
         r[j]=r[i];
     }
     r[i]=r[0];
     return i;
}
void QuickSort(int low,int high){
    if(low<high){
    int k=Partition(low,high);
    QuickSort(low,k-1);
    QuickSort(k+1,high);
}
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++) cin>>r[i];
    QuickSort(1,n);
    for(int i=1;i<=n;i++) cout<<r[i];
    return 0;
}

 

posted @ 2021-12-09 22:12  arvin。  阅读(65)  评论(0)    收藏  举报