JavaScriptでキューに要素を追加する(エンキュー)方法
キューへの要素追加(エンキュー)とは
キューに要素を追加すること(エンキュー)とは、コンテナ配列の末尾に新しい要素を加える操作です。本記事では、配列の末尾をキューの「尾部(tail)」として扱い、すべての挿入操作をこの末尾に対して行います。つまり、先入れ先出し(FIFO)の構造において、新しく入ってくる要素は常に列の最後尾へ並ぶことになります。
この考え方に基づけば、enqueue 関数は次のようにシンプルに実装できます。
実装例:enqueue関数
enqueue(element) {
// キューが満杯かどうかをチェック
if (this.isFull()) {
console.log("Queue Overflow!");
return;
}
// 末尾に要素を追加するため、pushを使用
this.container.push(element);
}
ポイントは2つあります。まず isFull() メソッドでキューが最大容量に達していないかを事前に確認し、オーバーフローを防止しています。次に、配列の末尾への追加は JavaScript の組み込みメソッド push() を使うことで簡単に実現できます。
動作確認
実際にこの関数が正しく動作するか、以下のコードで確認してみましょう。
let q = new Queue(2); q.enqueue(1); q.enqueue(2); q.enqueue(3); q.display();
ここでは容量2のキューを作成し、3つの要素を順番に追加しています。3つ目の要素を追加しようとした時点で、キューはすでに満杯のためオーバーフロー処理が実行されます。
実行結果
Queue Overflow! [ 1, 2 ]
このように、容量を超えて要素を追加しようとした場合には「Queue Overflow!」という警告が表示され、それ以降の追加は無視されます。一方、容量の範囲内である最初の2つの要素(1と2)は正常にキューへ格納されていることがわかります。
まとめ
- エンキューとは、キューの末尾(配列の最後尾)へ要素を追加する操作である。
push()を使えば末尾への追加は1行で実装できる。- 挿入前に
isFull()で容量チェックを行うことで、オーバーフローを安全に防止できる。
-
JavaScriptのimportで波括弧「{}」を使う理由とは?名前付きエクスポートの基本をわかりやすく解説
JavaScript(ESモジュール)でモジュールを読み込む際、import 文に波括弧 { } を付けるかどうか迷ったことはありませんか?実はこの波括弧は、名前付きエクスポート(named export)を読み込むために必要な記法です。本記事では、実際のコード例を使いながら、{ } の役割と使い方を詳しく解説します。 importで { } を使う場面とは JavaScriptのESモジュールでは、エクスポート方法によって読み込み側の書き方が変わります。 名前付きエクスポート:export { 関数名 } のようにエクスポートされたものを読み込む場合は、import { 名前 } fro
-
JavaScriptでキュー(Queue)を実装する方法を徹底解説
キュー(Queue)とは? キューは先入れ先出し(FIFO:First In First Out)というルールに従うデータ構造です。最初に追加した要素が最初に取り出される仕組みで、レジの待ち行列のように「並んだ順番どおりに処理したい」場面でよく使われます。 JavaScriptでは、配列とクラス(またはプロトタイプ)を組み合わせることで、簡単にキューを実装できます。キューの基本的な操作は次の3つです。 enqueue(エンキュー):キューの末尾に要素を追加する dequeue(デキュー):キューの先頭から要素を取り出す display(表示):キューの中身をすべて画面に表示する 以下は、H