我需要在java中实现一个红黑搜索树。我想过创建两个类:RBTree 和 RBNode,其中 RBNode 嵌套在 RBTree 内部(这是练习的需求)。
RBNode 应具有以下字段:
键、值、颜色 - 没问题。
parent、leftChild、rightChild - 它们也是 RBNode 类型。这我似乎无法实现,因为为了创建一个 RBNode 的实例,我需要一个 RBTree 的实例。
这是我的代码:
public class RBTree {
public RBNode createNode() {
return this.new RBNode();
}
class RBNode{
private int key;
private RBTree.RBNode rightChild = new RBTree.RBNode(); \//the problem is here
public RBNode() {
this.rightChild=null;
this.key=-1;
}
}
public static void main(String[] args) {
RBTree t = new RBTree();
RBNode rb = t.createNode();
System.out.println(rb.key);
System.out.println(rb.rightChild.key);
}
}
我将不胜感激任何想法如何解决这个问题。
谢谢。