スタックを使用してキューを作るには、2つのスタックを使用します。1つは「入力スタック」、もう1つは「出力スタック」と呼ばれるものです。
以下に、JavaScriptでスタックを使用してキューを構築するための具体的な手順を示します。
-
入力スタックと出力スタックの2つの空のスタックを作成します。
-
キューに要素を追加するenqueue操作を実装します。
- 入力スタックに要素を追加します。
-
キューから要素を取り出す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でスタックを使用してキューを作る方法がわかりました。この方法を使って、データを順番に処理する際に便利に利用することができます。