c++运行完成二叉树的二叉链表存储表示的代码
时间: 2024-12-02 20:17:12 浏览: 22
在C++中,你可以使用结构体(struct)和指针来实现二叉树的二叉链表存储表示。首先,我们定义一个简单的二叉节点结构:
```cpp
// 定义二叉树节点
struct TreeNode {
int val; // 节点值
TreeNode* left; // 左子节点
TreeNode* right; // 右子节点
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} // 构造函数
};
```
接下来,你可以创建一个函数来插入节点、构建整个二叉树以及遍历(如前序、中序、后序遍历)。这里是一个简单的示例,展示如何插入节点并构造二叉搜索树:
```cpp
// 插入节点到二叉链表表示的二叉树
TreeNode* insertIntoBST(TreeNode* root, int val) {
if (!root) return new TreeNode(val); // 如果根为空,新建一个节点
if (val < root->val) root->left = insertIntoBST(root->left, val); // 向左递归
else root->right = insertIntoBST(root->right, val); // 向右递归
return root;
}
// 构建一个空的二叉搜索树
TreeNode* buildBinarySearchTree() {
return insertIntoBST(nullptr, 0); // 从根节点开始插入
}
```
至于遍历二叉树,你可以选择相应的遍历算法(递归或迭代),这里给出前序遍历的例子:
```cpp
void preOrderTraversal(TreeNode* node) {
if (node == nullptr) return;
cout << node->val << " "; // 先访问根
preOrderTraversal(node->left);
preOrderTraversal(node->right);
}
```
如果你想让用户输入序列构建二叉树,可以添加用户交互部分。完整的程序可能会包括一个主函数来控制流程。
阅读全文