怎么创建一个二叉树
时间: 2023-10-11 19:13:01 浏览: 81
创建一个二叉树并输出三种遍历结果.pdf
要创建一个二叉树,首先需要定义树节点的结构体,包含一个值域和两个指向左右子节点的指针。然后,可以通过递归的方式来创建二叉树。具体步骤如下:
1. 创建根节点,并为其赋值。
2. 创建左子节点,为其赋值,并将其指针赋给根节点的左指针。
3. 递归创建左子树。
4. 创建右子节点,为其赋值,并将其指针赋给根节点的右指针。
5. 递归创建右子树。
以下是一个 C++ 实现的示例代码:
```
#include <iostream>
using namespace std;
// 定义树节点结构体
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
// 创建二叉树
TreeNode* createBinaryTree() {
int val;
cin >> val;
if (val == -1) { // 如果输入 -1,表示该节点为空
return NULL;
}
TreeNode* root = new TreeNode(val);
root->left = createBinaryTree();
root->right = createBinaryTree();
return root;
}
// 前序遍历二叉树(用于验证)
void preOrder(TreeNode* root) {
if (root == NULL) {
return;
}
cout << root->val << " ";
preOrder(root->left);
preOrder(root->right);
}
int main() {
TreeNode* root = createBinaryTree();
preOrder(root);
return 0;
}
```
这段代码可以通过输入创建一棵二叉树,并输出其前序遍历的结果。在输入时,可以按照前序遍历的顺序输入每个节点的值,空节点用 -1 表示。
阅读全文