快排

来源:互联网 发布:喝酒不脸红的方法知乎 编辑:程序博客网 时间:2024/04/30 11:43
#include<iostream>using namespace std;int part(int *a ,int l,int r){    int x=a[r];    int i=l-1;//比主元大的数的位置    for(int j=l;j<r;j++)    {        if(a[j]<=x)        {            i++;            swap(a[i],a[j]);        }    }    swap(a[i+1],a[r]);    return i+1;}void quicksort(int *a,int l,int r){    if(l<r)    {        int q=part(a,l,r);        quicksort(a,l,q-1);        quicksort(a,q+1,r);    }}int main(){    int a[100];    int n;    cin>>n;    for(int i=1;i<=n;i++)cin>>a[i];    quicksort(a,1,n);    for(int i=1;i<=n;i++)cout<<a[i]<<" ";    return 0;}

0 0