13. Stackを使ってQueueを作る
シェアしよう
少し工夫が必要 - accepted / - tried
JavaScriptの配列はStackとしても、Queueとしても使えます。
const arr = [1, 2, 3, 4]
arr.push(5) // arrは [1, 2, 3, 4, 5]
arr.pop() // 5, arrは [1, 2, 3, 4]
上記はStackとしての使用例、以下はQueueの使用例です。
const arr = [1, 2, 3, 4]
arr.push(5) // arrは [1, 2, 3, 4, 5]
arr.shift() // 1, arrは [2, 3, 4, 5]
仮に以下のようなStackがあり、
class Stack {
push(element) { /* 要素を追加 */ }
peek() { /* トップ要素を取得 */ }
pop() { /* トップ要素を取り除く */}
size() { /* 要素の数 */}
}
Stackだけを使ってQueueを実装してください。
class Queue {
enqueue(element) { /* 要素の追加、Array.prototype.pushに近い */ }
peek() { /* ヘッド要素を取得*/ }
dequeue() { /* ヘッド要素を取り除く、 Array.prototype.popに近い */ }
size() { /* 要素の数 */ }
}
補足
Stackだけ使って、Arrayは使用しないでください。