本文へスキップ

平成30年度 秋期 ITパスポート試験 問76

この問題の解説と、これまでの解答の記録です。

問76
頻出度★☆☆

複数のデータが格納されているスタックからのデータの取出し方として, 適切なものはどれか。

出典 平成30年度 秋期 ITパスポート試験 問76
解説

問 76スタックは後入れ先出し (LIFO)

  • 不正解ア

    格納順序に関係なく任意の場所のデータを取り出せるのは「配列」など添字で直接アクセスできるデータ構造の特徴です。スタックは常に一番上からしか取り出せないため誤りです。

  • イ

    正解 スタックは「後入れ先出し (LIFO)」のデータ構造です。データを積む操作を push、取り出す操作を pop と呼び、pop では常に一番上 (=最後に push した最新のデータ) から取り出されます。したがって「最後に格納されたデータを最初に取り出す」というイが正しい取出し方です。皿を積み重ねて上から取る様子をイメージすると分かりやすいです。

  • 不正解ウ

    「最初に格納したデータを最初に取り出す」のは「先入れ先出し (FIFO)」で、これは「キュー (待ち行列)」の説明です。スタックとは取出し順が逆なので誤りです。

  • 不正解エ

    データがもつキーの優先度に従って取り出すのは「優先度付きキュー (プライオリティキュー)」の考え方です。スタックは優先度ではなく格納の前後関係だけで取出し順が決まるため誤りです。

ここがポイント
  • スタックは後入れ先出し (LIFO)。push で積み、pop で最後に積んだ最新データから取り出す。
  • 対比: キューは先入れ先出し (FIFO)。この「取出し順の違い」がスタックとキューを区別する要点。
用語

解答の記録