题目:
思路分析:
完全二叉树的构造性质
代码实现:
const int MAX=100101;
int n;
int a[MAX];
int b[MAX];
int num;
void dfs(int pos){
if(pos>n) return;
dfs(pos<<1);
dfs(pos<<1|1);
b[pos]=a[++num];
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
dfs(1);
for(int i=1;i<=n;i++){
if(i!=1) cout<<" ";
cout<<b[i];
}
}