这是朋友打的码,请我帮Ta看看但我没看出来哪儿错,麻烦各位大佬找找错
#include<bits/stdc++.h>
using namespace std;
int n,m[1001010];
void kp(int i,int j,int l)
{
if(i>=j) return ;
int t,x,y;
x=i-1;y=j+1;
while(x<y)
{
do x++;while(m[x]<=m[l]);
do y++;while(m[y]>=m[l]);
if(x<y)
{t=m[x];m[x]=m[y];m[y]=t;}
}
kp(i,l,(l+i)/2);
kp(l+1,j,(j+l)/2);
}
int main( )
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>m[i];
kp(1,n,(1+n)/2);
for(int i=1;i<=n;i++)
cout<<m[i];
return 0;
}
dalao们可以先看一下逻辑上是不是有问题?(反正我是没看出来逻辑上的问题)