21xrx.com
2024-11-22 12:30:34 Friday
登录
文章检索 我的文章 写文章
C++完全二叉树后序输入
2023-06-24 10:44:39 深夜i     --     --
C++语言 完全二叉树 后序输入

在数据结构中,完全二叉树是一种比较特殊的二叉树。它的定义是,除了最后一层外,其他层的节点数都是满的,最后一层的节点都集中在树的左侧。而后序遍历是指先遍历左右子树,最后遍历根节点。

当我们想在C++编写完全二叉树的后序遍历输入时,需要注意的是完全二叉树的性质。因为完全二叉树的节点数是固定的,所以我们可以先输入节点的个数,然后使用数组存储完全二叉树。对于某个节点i,它的左右子节点分别为2i和2i+1。这意味着我们可以使用循环依次输入每个节点。

具体来说,我们可以先声明一个数组,其大小为2的n次方-1,n为完全二叉树的层数。然后读入节点的个数,并依次输入每个节点的值。最后,我们从数组末尾开始逆序遍历,依次输出每个节点的值,即可得到完全二叉树的后序遍历输入。

下面是一段代码示例:


#include<iostream>

#include<cmath>

using namespace std;

int main(){

  int n, size;

  cin >> n;

  size = pow(2, n) - 1; //计算完全二叉树的节点数

  int tree[size];

  for(int i=0; i<size; i++){

    cin >> tree[i];

  }

  for(int i=size-1; i>=0; i--){

    cout << tree[i] << " ";

  }

  return 0;

}

在这段代码中,我们先计算完全二叉树的节点数,并创建一个相应大小的数组来存储完全二叉树。接着,我们使用循环依次输入每个节点的值。最后,我们使用逆序循环输出数组中的所有元素,即可得到完全二叉树的后序遍历输。

  
  
下一篇: C++ 计算程序

评论区

{{item['qq_nickname']}}
()
回复
回复