Java で赤黒検索ツリーを実装する必要があります。RBTree と RBNode の 2 つのクラスを作成することを考えました。ここで、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);
}
}
これを解決する方法についてのアイデアをいただければ幸いです。
ありがとう。