如何以先序建树的方式把ABCDEF输入程序
时间: 2024-02-01 16:14:27 浏览: 52
以下是以先序建树的方式输入ABCDEF的程序:
```c++
#include <iostream>
using namespace std;
// 定义树节点结构体
struct TreeNode {
char val;
TreeNode* left;
TreeNode* right;
TreeNode(char x) : val(x), left(NULL), right(NULL) {}
};
// 先序建树函数
TreeNode* createTree() {
char val;
cin >> val;
if (val == '#') {
return NULL;
}
TreeNode* root = new TreeNode(val);
root->left = createTree();
root->right = createTree();
return root;
}
// 测试函数,中序遍历二叉树
void inOrder(TreeNode* root) {
if (root == NULL) {
return;
}
inOrder(root->left);
cout << root->val << " ";
inOrder(root->right);
}
int main() {
cout << "请输入先序遍历的结果('#'表示空节点):" << endl;
TreeNode* root = createTree();
cout << "中序遍历的结果为:" << endl;
inOrder(root);
cout << endl;
return 0;
}
```
输入ABCDEF,输出的中序遍历结果为:A B C # # D # # E # F # #。