見出し画像

キューを知ろう!

キューとは?

キューはデータを一時的に保存するための「列」のようなデータ構造です。特に重要な特徴は以下の2点です:

  • 先入れ先出し(FIFO: First In, First Out)
    最初に入れたデータが最初に取り出されます。これは実際の列(行列)に似た動作です。

  • 操作が限られている
    キューでは以下の操作しかできません:

    • データを追加する(エンキュー: enqueue

    • データを取り出す(デキュー: dequeue

    • 一番前のデータを見る(フロント: front または peek

キューのイメージ

以下の操作例を見て、キューの動きを理解しましょう

操作例:
1. 空のキューにデータを追加
2. データを取り出す

状態の変化:
キュー: [ ]  (空の状態)
enqueue(1) => [1]
enqueue(2) => [1, 2]
enqueue(3) => [1, 2, 3]
dequeue()  => [2, 3]  (1を取り出す)
front()    => [2, 3]  (2を見るだけ、キューは変化しない)

世の中にあるキュー

日常生活の中にも、キュー(先入れ先出し、FIFO)の概念が自然と溶け込んでいる場面がたくさんあります。以下にその例をいくつか挙げてみます。

列(行列)

レストランや銀行などで並ぶとき、最初に列に並んだ人が最初に案内されるのが一般的です。これがキューの典型的な使い方です。

プリンタのジョブ

複数の文書をプリンタに送信した場合、最初に送られたジョブ(文書)が最初に印刷されます。プリンタはキューの仕組みを利用してジョブを管理しています。

メッセージキュー

プログラム間でデータやリクエストをやり取りする際に使われるメッセージキューでは、先に送信されたメッセージが最初に処理されます。

まとめ

キューは、「先入れ先出し(FIFO)」という特徴を持つシンプルなデータ構造です。この特性は、データを順序通りに処理する必要がある場合に非常に役立ちます。まずは、基本的な操作を試して慣れるところから始めましょう。

いいなと思ったら応援しよう!