c++二叉链表的类定义
时间: 2024-12-25 16:20:00 浏览: 4
在 C++ 中,二叉链表是一种数据结构,它由节点组成,每个节点通常包含两个指针,分别指向左子节点和右子节点。下面是一个简单的二叉链表类定义的示例:
```cpp
class TreeNode {
public:
// 节点的数据域
int val;
// 左子节点和右子节点的指针
TreeNode* left;
TreeNode* right;
// 构造函数,用于初始化节点值
TreeNode(int val = 0) : val(val), left(nullptr), right(nullptr) {}
};
// 二叉链表类
class BinarySearchTree {
private:
// 根节点
TreeNode* root;
public:
// 构造函数,初始为空树
BinarySearchTree() : root(nullptr) {}
// 插入节点
void insert(int value);
// 删除节点
void remove(int value);
// 查找节点
bool search(int value);
// 遍历(这里可以有前序、中序或后序遍历)
void traverse(TreeNode* node, std::function<void(TreeNode*)> visitor);
};
```
这个类中包含了基本的操作如插入、删除、查找以及遍历的方法。`insert`、`remove` 和 `search` 分别用于添加新元素、移除特定值的节点和检查是否存在某个值。`traverse` 方法则是为了访问所有节点,提供了一个可自定义的回调函数来处理每个节点。
阅读全文