qsort

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
using namespace std;
const int maxn=10010;
int a[maxn];
void qsort(int b,int e){//用两个指针来模拟快排
    int u=b,v=e;
    int p=a[b];//将其作为模板
    if(u>v)return ;
    while(u!=v){
        while(u<v&&a[v]<=p)v--;
        while(u<v&&a[u]>=p)u++;
        if(u<v)swap(a[u],a[v]);
    }
    a[b]=a[u];
    a[u]=p;
    qsort(b,u-1);
    qsort(u+1,e);
}
int main(){
    int i,j,k,m,n;
    scanf("%d",&n);
    for(i=1;i<=n;i++)scanf("%d",&a[i]);
    qsort(1,n);
    for(i=1;i<=n;i++)printf("%d ",a[i]);
    return 0;
}



posted @ 2016-08-26 21:15  Drinkwater_cnyali  阅读(108)  评论(0编辑  收藏  举报