如何后序建立完全二叉树给出代码
时间: 2023-11-17 08:02:53 浏览: 30
以下是一个基于数组实现的完全二叉树的建立代码:
```
#include <iostream>
using namespace std;
const int MAXN = 100005; // 定义二叉树的最大节点数
int n; // 节点数
int a[MAXN]; // 存放二叉树节点数据的数组
int tree[MAXN]; // 完全二叉树实现所用的数组
void build(int pos, int index) {
if (index > n) return; // 索引越界,递归结束
tree[pos] = a[index]; // 将节点数据存入二叉树数组
build(pos * 2, index * 2); // 递归建立左子树
build(pos * 2 + 1, index * 2 + 1); // 递归建立右子树
}
int main() {
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
build(1, 1);
for (int i = 1; i <= n; i++)
cout << tree[i] << " "; // 输出建立完成的完全二叉树数组
cout << endl;
return 0;
}
```
希望能帮到您,如果您还有问题,可以继续向我提问哦。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)