求助,快排只有20分,数组大小从10的六次方到九次方都试过了
查看原帖
求助,快排只有20分,数组大小从10的六次方到九次方都试过了
1176438
GREATchen楼主2023/11/2 23:39
#include<iostream>
using namespace std;

void quicksort(int a[],int l,int r)
{   
     if(l>=r)return ;
    int i=l-1, j=r+1,mid=(r+l)/2,x=a[mid];
   
    
    while(i<j)
    {
        do i++;while(a[i]<x);
        do j--;while(a[i]>x);
        if(i<j)swap(a[i],a[j]);
    }
    quicksort( a, l, mid), quicksort( a, mid+1,r);
}

int main()
{   int N=0;
    cin>>N;
     int a[1000000000];
    for(int i=0;i<N;i++)
    cin>>a[i];
    
   
    quicksort(a,0,N-1);
    
    for(int i=0;i<N;i++)
    cout<<a[i]<<" ";
    cout<<endl;
    return 0;
    
}
2023/11/2 23:39
加载中...