c++

C++中树节点(TreeNode)如何设计

小樊
99
2024-08-24 03:20:28
栏目: 编程语言

在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) {}
};

这样就可以支持任意数量的子节点,可以根据具体的场景选择适合的设计方式来表示树节点。

0
看了该问题的人还看了