快排的标志问题?
查看原帖
快排的标志问题?
230305
pwalai楼主2022/1/26 12:50
#include<iostream>
using namespace std;

long a[1000010]={0};

void qsort(int l,int h){
    int temp,flag,i,j;
    flag=a[(l+h)/2];
    i=l;
    j=h;
    do{
        while(a[i]<flag)
            i++;
        while(a[j]>flag)
            j--;
        if(i<=j){
            temp=a[i];a[i]=a[j];a[j]=temp;
            i++;j--;
        }

    }while(i<=j);

    if(l<j)
        qsort(l,j);
    if(i<h)
        qsort(i,h);

}


int main(){
    freopen("9.in","r",stdin);
    //freopen("9.out","w",stdout);
    int n,i;
    cin>>n;
    for(i=1;i<=n;i++)
        cin>>a[i];
    qsort(1,n);
    for(i=1;i<=n;i++)
        cout<<a[i]<<' ';

    return 0;
}

2022/1/26 12:50
加载中...