我正在尝试实现一个树结构,我希望每个节点都有一个指向其子节点和父节点的指针。即两个节点之间的引用是双向的。
是否存在可以很好地模拟这种关系的语言(例如python)?我现在正在做的是:
class Node {
setParent(Node p) {
this.parent.chilren.remove(this)
p.chilren.add(this)
this.parent = p
}
// ...
}
但我更喜欢一种方法,我可以将双向引用的这一方面分解出来,这样我就可以在其他地方重用相同的构造。(例如,更具声明性的方法会很好)。