构造利用二叉链表存储表示的二叉树的代码
时间: 2024-05-07 12:21:49 浏览: 17
下面是使用C++语言编写的二叉链表存储表示的二叉树代码:
```c++
#include <iostream>
using namespace std;
// 二叉树结点的定义
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
// 构造二叉树的函数
TreeNode* buildTree() {
int val;
cin >> val;
if (val == -1) {
return NULL;
}
TreeNode *root = new TreeNode(val);
root->left = buildTree();
root->right = buildTree();
return root;
}
// 遍历二叉树的函数
void traverseTree(TreeNode *root) {
if (root == NULL) {
return;
}
cout << root->val << " ";
traverseTree(root->left);
traverseTree(root->right);
}
int main() {
TreeNode *root = buildTree();
traverseTree(root);
return 0;
}
```
在这个代码中,我们使用了一个 `TreeNode` 结构体来表示二叉树的结点。每个结点包括一个整数值 `val` 和两个指针 `left` 和 `right`,分别指向左子树和右子树。
`buildTree` 函数用递归的方式构建二叉树。每次读入一个整数值,如果这个值是 `-1`,则返回 `NULL` 表示这个子树为空;否则创建一个新的结点,并递归调用 `buildTree` 函数构建左子树和右子树。
`traverseTree` 函数用递归的方式遍历二叉树。每次先输出当前结点的值,然后递归遍历左子树和右子树。
最后,在 `main` 函数中调用 `buildTree` 函数构建二叉树,并调用 `traverseTree` 函数遍历二叉树并输出结果。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![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)