快速排序

来源:互联网 发布:linux 多线程结束 编辑:程序博客网 时间:2024/06/06 03:44
#include<cstdio>int a[10000];void qsort(int l,int r){  int i,j,mid,p;    i=l;    j=r;     mid=a[(l+r)/2];    do{while(a[i]<mid)i++;while(a[j]>mid)j--;if(i<=j) {p=a[i];            a[i]=a[j];            a[j]=p;            i++;            j--;        }    }    while(i<=j);    if(l<j)qsort(l,j);    if(i<r)qsort(i,r);}int main(){int n;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&a[i]);qsort(1,n);for(int i=1;i<=n;i++)printf("%d ",a[i]);return 0;}

0 0