https://pintia.cn/problem-sets/994805342720868352/problems/994805407749357568
根据完全二叉搜索树的特性,给出结点的值进行排序后就是该树的中序遍历
#include<bits/stdc++.h>
#define rep(i,a,n) for(int i=a;i<n;i++)
#define INF 0x3f3f3f3f
using namespace std;
const int N=1e4+5;
int n,m,k;
int cnt=0;
int a[N],res[N];
void build(int root){
if(root>n) return;
build(root*2);
res[root]=a[cnt++];
build(root*2+1);
}
int main(){
cin>>n;
rep(i,0,n) cin>>a[i];
sort(a,a+n);
build(1);
rep(i,1,n+1) printf("%d%c",res[i],i==n?'\n':' ');
}