• 年度別
  • 分野別
  • キーワード
  • 検索
  • 成績を見る
  • 掲示板
  • サイト情報
  • ITパスポート試験
    令和7年 第98問


    問98

    4個の要素から成るデータの並びを、次の手順を繰り返して昇順に整列するとき、整列が終了するまでに (1) から (3) の一連の手順は、何回実行されるか。ここで、最初はデータの並び全体を整列対象とする。

    データの並び:[27, 42, 33, 12]

    手順
    (1) 整列対象中の要素の最大の値を選び、最後の要素と入れ替える。
    (2) 最後の要素を整列対象から外す。
    (3) 整列対象に要素が1個以上残っていれば、(1)~(3) の一連の手順を実行する。残っていなければ、整列完了なので終了する。

  • 2
  • 3
  • 4
  • 5


    (令和7年 ITパスポート試験 第98問 テクノロジ系/アルゴリズムとプログラミング)

    解説

    (ウ)4
    この問題の正解率:30.4%(やや低い)

    問題の手順(選択ソートの要領)
    「整列対象」の最大値を最後に送る、という処理を繰り返す。
    毎回、「整列対象」の右端が確定し、次の処理ではそれ以外を整列対象とする。

    実際の処理手順を追う
    初期データ:[27, 42, 33, 12]

    1回目の繰り返し
    対象:[27, 42, 33, 12]
    最大値:42
    42を最後(12)と入れ替え → [27, 12, 33, 42]
    42を確定・対象外へ

    2回目
    対象:[27, 12, 33]
    最大値:33
    33を最後(12)と入れ替え → [27, 12, 33, 42]
    33を確定・対象外へ

    3回目
    対象:[27, 12]
    最大値:27
    27を最後(12)と入れ替え → [12, 27, 33, 42]
    27を確定・対象外へ

    4回目
    対象:[12]
    残り1個なので何もしない(ここで終了)

    よって、(1)~(3)の一連の手順は「4回」実行されます。


    【間違いやすいポイント】
    通常の選択ソートの理屈だとn-1回だが、この問題は「要素1個になった時も手順を実行する」ためn回になる。