完全二叉树的层序遍历

题目详情 - L2-035 完全二叉树的层序遍历 (25 分) (pintia.cn)

完全二叉树采用顺序存储方式,如果有左孩子,则编号为2i,如果有右孩子,编号为2i+1,然后按照后序遍历的方式(左右根),进行输入,最后顺序输出即可。

AC代码

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 100010;

int tr[N], n;

void create(int u)
{
    if(u > n)   return ;
    create(u * 2);  //左子树
    create(u * 2 + 1); //右子树
    cin >> tr[u];
}

int main()
{
    cin >> n;
    create(1);
    
    for(int i = 1; i <= n; i ++ )
    {
        cout << tr[i];
        if(i != n)  cout << " ";
    }
    
    return 0;
}

posted @ 2022-05-05 08:41  光風霽月  阅读(43)  评论(0编辑  收藏  举报