Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 定义子级数目未知的树_C++ - Fatal编程技术网

C++ 定义子级数目未知的树

C++ 定义子级数目未知的树,c++,C++,我需要定义一个树,其中每个节点的子节点数量未知。 无法使用数组完成此操作,因为子对象的数量可能过高或过低。 因此,我需要使用一个链表,其中的列表将是节点的子节点 如何做到这一点 class emp { string name; emp* parent; employee* child; }; struct employee { emp* junior; employee* next; }; 在此代码中,在调用employee子级之前未定义emplo

我需要定义一个树,其中每个节点的子节点数量未知。 无法使用数组完成此操作,因为子对象的数量可能过高或过低。 因此,我需要使用一个链表,其中的列表将是节点的子节点

如何做到这一点

class emp
{
    string name;
    emp* parent;
    employee* child;

};

struct employee
{
    emp* junior;
    employee* next;
}; 
在此代码中,在调用employee子级之前未定义employee,因此它会给出一个错误。
请建议更改。

emp
类别定义之前向前声明
emp

struct employee;

class emp
{
  //....

emp
类定义之前向前声明
employee

struct employee;

class emp
{
  //....

我个人认为,你应该使用
向量
或`列表,而不是建立自己的链表


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

我个人认为,你应该使用
向量
或`列表,而不是建立自己的链表

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

或者你可以用。或者制作一个通用的链表模板。或者用类似C的方法,使用
(void*)
或者你可以使用。或者制作一个通用的链表模板。或者用类似C的方法,使用
(void*)