だから私はバイナリ サーチ ツリーに取り組んでおり、レベル オーダー トラバーサルを実行する必要があります。同じレベルにあるすべてのキーを出力します。
私が今抱えている問題は、FIFO キューを作成する必要があることです。キューを作成しましたが、ノードをキューに追加しようとすると、an enclosing instance that contains Queue.Node is required
エラー メッセージが表示され続けます。誰かが私が間違っていることを手伝ってくれますか?
これが現在のレベル オーダー トラバーサルです。
public void LevelOrder_Traversal(BST_Node node){
Queue temp=new Queue();
Queue.Node newNode=new Queue.Node();
temp.enqueue(node);
これは私のキュークラスです
public class Queue{
public class Node{
private Integer key;
private Node next;
public Node(){
this.key=null;
this.next=null;
}
public Node(int key){
this.key=key;
this.next=null;
}
}
int size;
Node head;
public Queue(){
head=new Node();
size=0;
}
public void enqueue(Node node){
if(size==0){
head=node;
}
Node curr=head;
while(curr.next!=null){
curr=curr.next;
}
curr.next=node;
size++;
}
public Node dequeue(){
Node temp=head;
head=head.next;
size--;
return temp;
}
}
私がやっていることと似ている他のいくつかの投稿を見つけましたが、私はそれらをあまり理解していませんでした. 誰かが私が間違っていることと、なぜそれが間違っているのかを説明してくれるなら、それは素晴らしいことです. Queue クラスなどを拡張する必要がありますか?