c++快排

#include
using namespace std;
int a[100001];
int n;
void qsort(int l, int r)
{

    if (l>=r) return;
    int i,j,mid,t;
    i=l; j=r; mid=a[(i+j)/2];
    do
    {

        while(a[i]while(a[j]>mid) j--;
        if(i<=j)
        {

            t=a[i]; a[i]=a[j]; a[j]=t;
            i++; j--;

        }

    }
    while(i<=j);
    qsort(l,j);
    qsort(i,r);

}


int main()
{

    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    qsort(1,n);
    for(int i=1;i<=n;i++) cout<" ";
//    cout<<'\n';
    return(0);
}

你可能感兴趣的:(题解,排序)