快速排序模板

#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
int a[50005];
void kuaipai(int a[],int left,int right)
{
    int i=left;
    int j=right;
    ll ding=a[left];
    if(left>=right)return;
    while(i!=j)
    {
        while(i<j&&a[j]>=ding)
        {
            j--;
        }
        if(i<j)
        {
            a[i]=a[j];
        }
        while(i<j&&a[i]<=ding)
        {
            i++;
        }
        if(i<j)
        {
            a[j]=a[i];
        }
    }
    a[i]=ding;
    kuaipai(a,left,i-1);
    kuaipai(a,i+1,right);
}
int main()
{
    ios::sync_with_stdio(false);
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    kuaipai(a,0,n-1);
    for(int i=0;i<n;i++)
    {
        cout<<a[i]<<endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/zzzanj/article/details/80410008