JavaScriptでスタックを使用してキューを作る方法


スタックを使用してキューを作るには、2つのスタックを使用します。1つは「入力スタック」、もう1つは「出力スタック」と呼ばれるものです。

以下に、JavaScriptでスタックを使用してキューを構築するための具体的な手順を示します。

  1. 入力スタックと出力スタックの2つの空のスタックを作成します。

  2. キューに要素を追加するenqueue操作を実装します。

    • 入力スタックに要素を追加します。
  3. キューから要素を取り出すdequeue操作を実装します。

    • 出力スタックが空の場合、入力スタックから要素を逆順に出力スタックに移します。これにより、要素がキューの順序で出力されます。
    • 出力スタックから要素を取り出し、返します。

以下に、上記の手順に基づいたJavaScriptのコード例を示します。

class Queue {
  constructor() {
    this.inputStack = [];
    this.outputStack = [];
  }
  enqueue(item) {
    this.inputStack.push(item);
  }
  dequeue() {
    if (this.outputStack.length === 0) {
      while (this.inputStack.length > 0) {
        this.outputStack.push(this.inputStack.pop());
      }
    }
    return this.outputStack.pop();
  }
}

上記のコードでは、Queueクラスを定義し、enqueueメソッドとdequeueメソッドを実装しています。enqueueメソッドでは、入力スタックに要素を追加します。dequeueメソッドでは、出力スタックが空の場合、入力スタックから要素を逆順に出力スタックに移し、出力スタックから要素を取り出して返します。

これで、JavaScriptでスタックを使用してキューを作る方法がわかりました。この方法を使って、データを順番に処理する際に便利に利用することができます。