戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2018年 春期 96


問題文

先入れ先出し(First-In First-Out, FIFO)処理を行うのに適したキューと呼ばれるデータ構造に対して“8”、 “1”、 “6”、 “3”の順に値を格納してから、取出しを続けて2回行った。2回目の取出しで得られる値はどれか。

選択肢

1(正解)
3
6
8

🔒 解説は解答すると表示されます

先入れ先出し(FIFO)処理とキュー【ITパスポート 解説】

正解の理由

問題は「キュー」と呼ばれるデータ構造に対して、“8”、“1”、“6”、“3”の順に格納(追加)してから、取り出しを2回行ったときの2回目の取り出し結果を問うています。
キューは FIFO(First-In First-Out:先に入れたものが先に出る)という性質を持ちます。したがって、追加した順番通りに取り出されます。追加順は 8 → 1 → 6 → 3 ですから、1回目の取り出しで 8、2回目の取り出しで 1 が出ます。よって (値 1)が正しい選択肢です。

解法ステップ

  1. 用語の確認
    • キュー(queue):待ち行列のように、先に入れた要素が先に出るデータ構造。
    • FIFO(First-In First-Out:先入れ先出し):先に入れたものが先に出るルール。
    • enqueue(エンキュー、追加):キューに値を入れる操作。
    • dequeue(デキュー、取り出し):キューから値を取り出す操作。
  2. 問題の操作を順に追う
    • enqueue 8 → キュー状態: [8] (先頭が左)
    • enqueue 1 → キュー状態: [8, 1]
    • enqueue 6 → キュー状態: [8, 1, 6]
    • enqueue 3 → キュー状態: [8, 1, 6, 3]
  3. 取り出し(dequeue)を2回行う
    • 1回目の dequeue → 取り出されるのは先頭の 8。キューは [1, 6, 3] になる。
    • 2回目の dequeue → 取り出されるのは次の先頭 1。
  4. 結論:2回目の取り出しで得られる値は 1()。

選択肢別の誤答解説

  • ア(1)
    正しい。上の通り、追加順に従って2回目に 1 が出ます。 と明示的に一致します。
  • イ(3)
    間違い。3 は最後に追加した要素なので、FIFO のキューでは一番最後に取り出されます。2回目ではまだ出ません。
  • ウ(6)
    間違い。6 は3番目に追加された要素です。2回目の取り出しは2番目に追加された 1 が出るため、6 はまだ残っています。
  • エ(8)
    間違い。8 は最初に追加された要素で、1回目の取り出しで既に取り出されています。したがって2回目には出ません。

よくある誤解

  1. 「値の大小や並び替えで決まる」と考える
    値の大きさ(8が最大など)や数字の大小は関係ありません。キューは「入れた順番」を保持するだけです。
  2. スタック(LIFO)と混同する
    スタックは LIFO(Last-In First-Out:後に入れたものが先に出る)という性質を持ちます。最後に入れた 3 を先に取り出すのがスタックの動作で、キューとは逆です。これを混同すると誤答しやすいです。
  3. 取り出し回数の数え間違い(オフ・バイ・ワン)
    「最初の取り出し=0回目」と数えるなどで、何回目にどれが出るかを間違えることがあります。1回目・2回目を正しく数えましょう。

補足コラム

  • 日常の例え:スーパーのレジの列を想像してください。先に並んだ人から順に会計を済ませます。これがキュー(FIFO)です。
  • キューの用途例:プリンタへの印刷ジョブの管理、ネットワークのパケット処理、タスクの順序管理など。
  • 実装のポイント:配列や連結リストで実装できます。配列で実装するときは「先頭」「末尾」を巡回させる環状(サーキュラー)キューにすると効率的です。

FAQ

Q1. スタックとキュー、どちらを使えばいいですか?
A1. 問題の性質で選びます。処理順が「最後に入れたものから処理したい」ならスタック(LIFO)を使い、「先に入れたものから順に処理したい」ならキュー(FIFO)を使います。
Q2. キューから全部取り出すと元の順になる?
A2. はい。全要素を順に dequeue すると、追加した順と同じ順で取り出されます。
Q3. 「enqueue」と「dequeue」はどのように発音・意味しますか?
A3. enqueue(エンキュー)は「追加」、dequeue(デキュー)は「取り出し」を意味します。英語の操作名をそのまま使うことが多いです。

関連キーワード: FIFO、先入れ先出し、キュー、queue、enqueue、dequeue、LIFO、スタック、データ構造、待ち行列
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について