在C++中设计树节点(TreeNode)可以使用类来表示,一个基本的树节点可以包含以下几个成员变量:
template <typename T>
class TreeNode {
public:
T data; // 节点数据
TreeNode<T>* left; // 左子节点指针
TreeNode<T>* right; // 右子节点指针
TreeNode(T val) : data(val), left(nullptr), right(nullptr) {}
};
这里使用了模板类来表示通用的树节点,其中包含节点的数据(data)、左子节点指针(left)和右子节点指针(right)。可以根据具体的需求添加其他成员变量或方法。
如果需要支持多叉树,可以使用一个vector来存储子节点的指针:
template <typename T>
class TreeNode {
public:
T data; // 节点数据
vector<TreeNode<T>*> children; // 子节点指针数组
TreeNode(T val) : data(val) {}
};
这样就可以支持任意数量的子节点,可以根据具体的场景选择适合的设计方式来表示树节点。