c++二叉树实现代码
时间: 2024-12-19 11:18:32 浏览: 5
在 C++ 中,二叉树是一种常用的数据结构,通常包括一个节点类(Node),该类包含两个指针(通常是左子节点和右子节点),以及存储数据的一个变量。这里是一个简单的二叉搜索树(Binary Search Tree, BST)的递归实现示例:
```cpp
#include <iostream>
// 定义二叉树节点
class TreeNode {
public:
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
// 插入操作,保持BST特性
TreeNode* insertIntoBST(TreeNode* root, int val) {
if (root == nullptr) return new TreeNode(val);
if (val < root->val)
root->left = insertIntoBST(root->left, val);
else
root->right = insertIntoBST(root->right, val);
return root;
}
// 示例:创建并插入节点
int main() {
TreeNode* root = nullptr;
root = insertIntoBST(root, 50);
insertIntoBST(root, 30);
insertIntoBST(root, 20);
insertIntoBST(root, 40);
insertIntoBST(root, 70);
insertIntoBST(root, 60);
insertIntoBST(root, 80);
// 打印整棵树
printInOrder(root); // 自己实现中序遍历打印
return 0;
}
// 中序遍历用于打印节点值,这是一个基础函数需要你自己实现
void printInOrder(TreeNode* node) {
// 在这里实现中序遍历的逻辑...
}
```
阅读全文