#include<bits/stdc++.h>
using namespace std;
const int N=100000;
int q[N],a[N],b[N];
void quick_sort(int q[],int l,int r)
{
if(l>=r)return ;
int x=q[l+r>>1],i=l;
int n=0,m=0;
while(i<=r)
{
if(q[i]<=x)a[n++]=q[i++];
else b[m++]=q[i++];
}
i=0;
for(int c=0;c<n;c++)
{
q[i++]=a[c];
}
for(int c=0;c<m;c++)
{
q[i++]=b[c];
}
quick_sort(q,l,n-1);
quick_sort(q,n,r);
}
int main()
{
int n;cin>>n;
for(int i=0;i<n;i++)
{
cin>>q[i];
}
quick_sort(q,0,n-1);
for(int i=0;i<n;i++)
{
cout<<q[i]<<" ";
}
}
这是y总说的第二种方法,我这个总是递归不了,有大佬看看吗?