写一个数据结构类,有二叉树的功能,用cpp实现
时间: 2024-11-27 16:17:26 浏览: 9
在C++中,我们可以创建一个名为`BinaryTreeNode`的数据结构类,用于表示二叉树的基本元素,包含节点值、左子节点和右子节点。这是一个基础版本的二叉搜索树的实现:
```cpp
#include <iostream>
// 定义二叉树节点
class BinaryTreeNode {
public:
int data; // 节点值
BinaryTreeNode* left; // 左子节点
BinaryTreeNode* right; // 右子节点
// 构造函数
BinaryTreeNode(int value) : data(value), left(nullptr), right(nullptr) {}
// 插入节点
void insert(int value) {
if (value < data)
if (left == nullptr)
left = new BinaryTreeNode(value);
else
left->insert(value);
else
if (right == nullptr)
right = new BinaryTreeNode(value);
else
right->insert(value);
}
// 搜索节点
bool search(int value) const {
if (value == data)
return true;
else if (value < data && left != nullptr)
return left->search(value);
else if (value > data && right != nullptr)
return right->search(value);
return false;
}
// 其他辅助功能如删除节点可以根据需求添加
};
int main() {
// 创建一个二叉搜索树实例并插入一些数据
BinaryTreeNode* root = new BinaryTreeNode(50);
root->insert(30);
root->insert(70);
root->insert(20);
root->insert(40);
root->insert(60);
// 测试搜索操作
std::cout << "Searching for 40: " << (root->search(40) ? "Found" : "Not Found") << "\n";
return 0;
}
```
阅读全文