【发布时间】:2011-06-21 17:32:02
【问题描述】:
在这个复合树中,我保留了对父节点的引用以实现灵活的树遍历。我不想一直检查父级是否有空引用,但是如果我创建一个 NullNode 类并将每个节点的父级初始化为此我会得到堆栈溢出,因为 NullNode 有一个 NullNode 有一个 NullNode 有一个.. .. 无穷无尽 我已经尝试将 NullNode 的父级设置为 null,但是我仍然必须对父级进行 null 引用检查,这似乎违背了目的。 有人遇到这个吗?有什么办法吗?
谢谢!
【问题讨论】:
-
你的遍历函数是如何工作的?你需要以某种方式停止吗?您需要发布一些代码,因为您的问题似乎无效。
-
我什至连搜索树的距离都不够。堆栈溢出发生在 NullNode 的构造过程中,因为它包含一个初始化为 NullNode 的父节点。
-
NullNode 当然应该没有父节点。使用伪代码查看下面的第二个答案。
标签: design-patterns composite null-object-pattern