从键盘上输入一组数据,建立一个以二叉链表形式存储的二叉树。对所建立的二叉树分别进行先序、中序和后序遍历,并输出结果。
时间: 2024-03-20 21:40:22 浏览: 27
好的,我可以帮你解决这个问题。以下是建立二叉树并进行三种遍历的代码示例(使用C++语言实现):
```cpp
#include<iostream>
using namespace std;
// 定义二叉树结点
struct TreeNode {
char val; // 存储结点的值
TreeNode* left; // 左子树指针
TreeNode* right; // 右子树指针
TreeNode(char x) : val(x), left(NULL), right(NULL) {}
};
// 递归建立二叉树
void createTree(TreeNode* &root) {
char ch;
cin >> ch;
if (ch == '#') {
root = NULL;
} else {
root = new TreeNode(ch);
createTree(root->left);
createTree(root->right);
}
}
// 先序遍历
void preOrder(TreeNode* root) {
if (root == NULL) return;
cout << root->val << " ";
preOrder(root->left);
preOrder(root->right);
}
// 中序遍历
void inOrder(TreeNode* root) {
if (root == NULL) return;
inOrder(root->left);
cout << root->val << " ";
inOrder(root->right);
}
// 后序遍历
void postOrder(TreeNode* root) {
if (root == NULL) return;
postOrder(root->left);
postOrder(root->right);
cout << root->val << " ";
}
int main() {
TreeNode* root;
cout << "请输入一组数据(#表示空结点):" << endl;
createTree(root);
cout << "先序遍历结果为:" << endl;
preOrder(root);
cout << endl;
cout << "中序遍历结果为:" << endl;
inOrder(root);
cout << endl;
cout << "后序遍历结果为:" << endl;
postOrder(root);
cout << endl;
return 0;
}
```
你只需要输入一组二叉树的结点的值,#表示空结点,程序就会自动建立二叉树并进行三种遍历。注意,程序中先序遍历的输出顺序是先输出父结点,再输出左子树,最后输出右子树。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)