📄 1082.c
字号:
#include "stdio.h"
long c=0;
long A[1000];
long N;
long ok=0;
long o=0;
long qw=0;
long P(long l, long r)
{
long x=A[l];
long i=l-1;
long j=r+1;
long t;
while(1)
{
do{--j; ++c;}
while(A[j]>x);
do{++i; ++c;}
while(A[i]<x);
if(i<j)
{
t=A[i];
A[i]=A[j];
A[j]=t;
}
else return j;
}
}
void Q(long l, long r)
{
long n;
if(l<r)
{
n=P(l,r);
Q(l,n);
Q(n+1,r);
}
}
int test()
{
long i=0;
long j=N-1;
long k=0;
long t;/*temp*/
while(1)
{
Q(0,N-1);
qw=(c==(N*N+3*N-4)/2);
if (qw)
{
for (k=0;k<=N-1;k++)
{
fflush(stdout);
printf("%ld ",A[k]);
}
return 0;
}
else
{
c=0;
if (i!=j)
{
t=A[j];
A[j]=A[j-1];
A[j-1]=t;
j--;
}
else
{
j=N-1;
}
}
}/*end while*/
}/*end test*/
int main(void)
{
long i=0;
fflush(stdout);
scanf("%ld",&N);
fflush(stdin);
for (;i<=N-1;i++)
{
A[i]=i+1;
}
test();
fflush(stdout);
fflush(stdout);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -