我需要在java中實現一個紅黑色的搜索樹。我想過創建兩個類:RBTree和RBNode,其中RBNode嵌套在RBTree中(這是練習的要求)。Java嵌套類
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);
}
}
我將不勝感激任何想法如何解決這個問題。
謝謝。