gpt4 book ai didi

c++ - 在 C++ 中实现树

转载 作者:行者123 更新时间:2023-11-30 02:32:02 25 4
gpt4 key购买 nike

我想实现一个二叉树,其中每个节点都包含 leftright 子树。这是我的类(class)的样子:

class KDTree
{
public:
KDTree(...);
~KDTree();

private:
LatLng element; // The value of the node
KDTree left; // The left sub-tree
KDTree right; // The right sub-tree
};

然后我的构造函数看起来像这样:

KDTree::KDTree(...)
{
value = ...;
if(not_finished)
{
left = KDTree(...);
right = KDTree(...);
}
else
{
left = NULL; // how to implement this properly ?
right= NULL; // how to implement this properly ?
}
}

如果我尝试像上面显示的那样放置 NULL,那么编译器会提示 leftright 属性没有初始化。我怎样才能正确地做到这一点?

最佳答案

left 和 right 应该是这样的 KDTree 指针:KDTree* left,KDTree* right。然后 Null 将按原样工作

此外,在第一个 if 语句中您可能需要更改

left = KDTree (...);
right = KDTree (...);

left = new KDTree (...);
right = new KDTree (...);

关于c++ - 在 C++ 中实现树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36901110/

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