題意:給定序列,要求輸出對應完全二叉搜索樹的層序遍歷
tip:直接對原數組利用完全二叉搜索樹性質遍歷輸出
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int n;
int s[1003];
vector<int>level(1003);
int c=0;
void dfs(int t) {
if(t>=n)
return ;
dfs(2*t+1);
level[t]=s[c++];
dfs(2*t+2);
}
int main() {
cin>>n;
for(int i=0; i<n; ++i)
cin>>s[i];
sort(s,s+n);
dfs(0);
cout<<level[0];
for(int i=1; i<n; ++i)
cout<<" "<<level[i];
return 0;
}