下面是一个用 C++实现的简单二叉树数据结构和一些基本操作,包括插入节点、
搜索节点、删除节点和遍历树。
二叉树节点类
首先,我们定义一个节点类 TreeNode,表示二叉树的节点。
#include <iostream>
class TreeNode {
public:
int value;
TreeNode* left;
TreeNode* right;
TreeNode(int val) : value(val), left(nullptr), right(nullptr) {}
};
二叉树类
然后,我们定义一个二叉树类 BinaryTree,包含插入、搜索和删除节点的方法,
以及遍历树的方法。
class BinaryTree {
private:
TreeNode* root;
// Helper functions
TreeNode* insert(TreeNode* node, int value) {
if (node == nullptr) {
return new TreeNode(value);
}
if (value < node->value) {
node->left = insert(node->left, value);
} else {
node->right = insert(node->right, value);
}
return node;
}
TreeNode* search(TreeNode* node, int value) {
if (node == nullptr || node->value == value) {