快排模版

#include  <stdio.h>
void qsort(int a[],int l,int r)
{
    int x=a[l];
    int i=l;
    int j=r;
    if(l>=r) return ;
    while(i<j)
    {
        while(i<j&&a[j]>=x) j--;
        if(i<j)
        {
            a[i]=a[j];
            i++;
        }
        while(i<j&&a[i]<=x) i++;
        if(i<j)
        {
            a[j]=a[i];
            j--;
        }
    }
    a[i]=x;
    qsort(a,l,i-1);
    qsort(a,i+1,r);
}
int main()
{
    int n,a[101];
    scanf("%d",&n);
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]);
    qsort(a,0,n-1);
    for(int i=0;i<n;i++)
        if(i==0) printf("%d",a[i]);
        else printf(" %d",a[i]);
    printf("\n");
    return 0;
}

posted @ 2014-04-15 21:26  人艰不拆_zmc  阅读(159)  评论(0编辑  收藏  举报