gpt4 book ai didi

c++ - 在 C++ 中创建非二叉树结构

转载 作者:行者123 更新时间:2023-11-28 05:44:21 24 4
gpt4 key购买 nike

我需要帮助创建非二叉树结构。该结构必须包含一个 node 类,该类具有节点所需的尽可能多的指向节点的指针。这是我感到困惑的地方。

这是我的类节点:

class nodo{
public:
int id;
char info[255];
nodo **son,*father;
nodo()
{
strcpy(info,"");
son=(nodo*)malloc(sizeof(nodo));
}
};

据我所知,每次我需要一个新的 son 指针时,我都必须执行以下代码:

son=(nodo*)realloc(sizeof(nodo)*t)

t 是我要添加的节点数加 1。我似乎不明白如何访问指针。例如,我已经添加了2个sons,我想访问第二个,我应该怎么做?

还有其他方法可以解决这个问题吗?

我们将感谢任何帮助。

最佳答案

您正在编写 C++,而不是 C。不要尝试从头开始重新实现您自己的动态数组。标准库已经有 std::vector 来为您处理。

class nodo{
public:
int id;
std::string info;
nodo *parent;
std:::vector<nodo *> children;

nodo(nodo *parent) : parent(parent)
{
}

void add_child(nodo *child) { children.push_back(child); }
};

关于c++ - 在 C++ 中创建非二叉树结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36510812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com