キュー
キューはスタックによく似たデータ構造です。キューは「First-In-First-Out」(FIFO)の原則に基づくデータ構造で、最初に追加された要素が最初に削除されます。この特性は、一連の要素を順番に処理する必要がある場合や、待ち行列を管理する場合に有用です。現実の世界では、行列に並んだ人々をイメージすると良いと思います。人々は一番後ろにしか追加できず、一番前からしか出ることはできません。
特徴
- 要素は「後」に追加され、「前」から削除されます
- 最初に追加された要素にのみアクセスできます(これを「
front
/head
」と呼びます。また最後に追加された要素は「back
/tail
/rear
」と呼びます)。
- 新しい要素の追加(
enqueue
/offer
)と既存の要素の削除(dequeue
/pool
)は共に高速です(O(1)の時間計算量)
- 連結リスト(Linked List)などを活用して実装可能です。