题目详情:https://www.patest.cn/contests/pat-a-practise/1064
提交:
代码:
#include <iostream>
#include <algorithm>
using namespace std;
#define N 1010
int n,number[N],CBT[N],index = -1;
void inOrder( int root )
{
if( root <= n )
{
inOrder(root*2);
CBT[root] = number[++index];
inOrder(root*2+1);
}
}
int main()
{
cin>>n;
for( int i=0;i<n;++i ) //下标从1开始
cin>>number[i];
sort(number,number+n);
inOrder(1);
for( int i=1;i<=n;++i )
{
if( i == n )
cout<<CBT[i];
else
cout<<CBT[i]<<" ";
}
return 0;
}