6

これはハードウェアまたは割り当てではありません。これは私自身が実践していることです。

キューを指定して、Reverse メソッドを記述し、キューの要素を逆にします。MyQueue は変更されません。

サイン:

public Queue<T> reverse(Queue<T> myQueue) {

注: Queue がノードを使用して作成されているか、配列を使用して作成されているかは不明です。

キューには、使用できるメソッドが既に実装されています。

void enqueue(T element)
T dequeue();
boolean isFull();
boolean isEmpty();
int size();
4

4 に答える 4

8

スタックを使用してキューを反転できます。

Java での方法は次のとおりです。

public void reverse(Queue q)
{
    Stack s = new Stack();  //create a stack

    //while the queue is not empty
    while(!q.isEmpty())
    {  //add the elements of the queue onto a stack
       s.push(q.serve());
    } 

    //while the stack is not empty
    while(!s.isEmpty())
    { //add the elements in the stack back to the queue
      q.append(s.pop());
    }

}

キューの追加および提供メソッドは、そのキューの要素を追加および削除することです。

次に例を示します。

キューには次の要素があります。

1 2 3 4

要素がスタックに追加されると、番号 1 がリストの一番下に、4 が一番上になります。

1 2 3 4 <- トップ

スタックをポップして、要素をキューに戻します。

4 3 2 1

これが役に立ったことを願っています。

于 2015-04-30T16:58:30.870 に答える