AI活用の教科書
バックエンドふつう2分で読了

キュー(データ構造)

Queueきゅー

ひとことで言うと

最初に入れたものから順番に取り出す、行列のようなデータの入れ物です。

📖 もうちょい詳しく

何が新しいの?

キューは新しい技術ではなく、コンピュータの世界で昔からよく使われている「データのしまい方の型」です。たくさんの仕事や依頼をいったん預かって、来た順番にきちんとさばきたいときに登場します。「先に入れたものを先に出す」という決まりがあり、これを先入れ先出し(さきいれさきだし)と呼びます。

どうやって動いてるの?

キューには出入り口が2つあります。データを入れるのはいつも後ろ側、取り出すのはいつも前側です。後ろから入れることを「エンキュー」、前から取り出すことを「デキュー」と言います。途中の順番を飛ばすことはせず、入った順を守ったまま一つずつ流していきます。

何ができるの?

順番待ちが必要な処理は、たいていキューで管理されています。たとえばプリンターに送った印刷の予約、サーバーに届いたたくさんのリクエスト、動画の変換待ちなどです。あふれそうな依頼をいったん並ばせておき、空いたそばから前から順に片づけていけます。

🌱 身近なたとえ

券売機やレジの行列で例えると分かりやすいです。あとから来た人は列のいちばん後ろに並びます。そして対応してもらえるのは、いちばん前にいる、最初から待っていた人です。順番を抜かさず前から消えていく、この流れがそのままキューの動きです。

✅ まず覚えるポイント

  • キューは「先に入れたものを先に取り出す」入れ物です(先入れ先出し)。
  • 英語の Queue は「行列」という意味です。
  • 入れるのは後ろ、取り出すのは前、と出入り口が分かれています。
  • 入れる操作をエンキュー、取り出す操作をデキューと呼びます。
  • 順番待ちの処理や、たまった依頼を順にさばく場面で使われます。

🧭 よくある勘違い

スタックと同じもの?

スタックは「あとに入れたものを先に取り出す」入れ物で、キューとは逆向きです。お皿を上に積んで上から取るのがスタック、行列のように前から出るのがキューです。順番の決まりが反対なので、用途も変わってきます。

途中のデータだけ取り出せるの?

基本のキューでは、好きな位置のデータだけを抜き出すことはしません。あくまで前から順に取り出すのが原則です。優先順位をつけたい場合は「優先度付きキュー」という別の仕組みを使うことが多いです。

🧩 関連して覚えると楽な言葉

  • スタック: あとに入れたものから先に取り出す、キューと逆向きの入れ物です。
  • 配列: データを順番に並べてしまう、もっとも基本的な入れ物です。
  • データ構造: データの並べ方・しまい方の型をまとめた呼び名です。
  • メッセージキュー: システム間の依頼を行列にして順に処理する仕組みです。

🏁 ひとことでまとめ

キューは、来た順番をきちんと守って一つずつさばくための「行列の入れ物」です。