定义具有未知数量子项的树

Defining trees with unknown number of children

本文关键字:未知数 定义      更新时间:2023-10-16

我需要定义一个树,其中每个节点的子节点数量未知。它不能使用数组来完成,因为子项的数量可能被高估或低估。所以我需要使用链表,其中列表将是节点的子级。

这将如何完成

class emp
{
    string name;
    emp* parent;
    employee* child;
};
struct employee
{
    emp* junior;
    employee* next;
}; 

在此代码中,在调用员工子级之前未定义员工,因此会给出错误。请提出更改建议。

在类定义之前向前声明employee emp

struct employee;
class emp
{
  //....

我个人会说你应该使用vector<employee>或'list,而不是建立自己的链表。

另请注意,使用链表会增加相当多的额外内存使用量,因为每个节点的开销通常为 32-64 字节。