跳到正文

令和7年度 ITパスポート試験 問98

这道题的解析和你的作答记录。

問98
頻出度★★☆

4個の要素から成るデータの並びを, 次の手順を繰り返して昇順に整列するとき, 整列が終了するまでに(1)から(3)の一連の手順は, 何回実行されるか。ここで, 最初はデータの並び全体を整列対象とする。 データの並び : [27, 42, 33, 12] 〔手順〕 (1) 整列対象中の要素の最大の値を選び, 最後の要素と入れ替える。 (2) 最後の要素を整列対象から外す。 (3) 整列対象に要素が1個以上残っていれば, (1)から(3)の一連の手順を実行する。残っていなければ, 整列完了なので終了する。

出典 令和7年度 ITパスポート試験 問98
解説

問 98

  • 错误ア

    2 大幅低估了执行次数。共有 4 个元素,每次确定并移除 1 个,因此至少需要把元素逐个减少所需的次数。执行 2 次时排序对象还剩 2 个,排序尚未完成,故错误。

  • 错误イ

    3 是按「元素个数为 N 的排序只需 N−1 次」这一通常的选择排序印象来数的错误。本步骤的结束条件是「只要还剩 1 个以上就重复」,即使对象只剩 1 个,仍会再执行一次 (1) 至 (3) 后才变为 0 个。因此不是 3 次而是 4 次。

  • ウ

    正解 该步骤是选择排序,每次都重复执行「在排序对象中选出最大值与最后一个元素互换,并把该末尾元素从对象中移除」。实际追踪排序对象可知,对象的元素个数按 4→3→2→1→0 逐个减少。步骤 (3) 的结束条件是「只要还剩 1 个以上元素就重复」,因此当对象为 4 个、3 个、2 个、1 个时各执行一次 (1) 至 (3),直到对象变为 0 个时才结束。也就是说,从最初的 4 个数起,执行次数为 4 次。故正确答案是 ウ(4)。

  • 错误エ

    5 多数了一次。当对象变为 0 个时已不满足步骤 (3) 的条件而结束,因此不会对 0 个对象执行 (1) 至 (3)。实际执行的是对象为 4、3、2、1 个时共 4 次,不会发生第 5 次,故错误。

ここがポイント
  • 选择排序的行为:从排序对象中选出最大(或最小)值,与确定位置(末尾)互换,从而把对象逐个缩小的重复处理。
  • 重复的次数由结束条件决定。本题的 (3) 是「只要还剩 1 个以上就重复」,所以剩 1 个时也要执行,直到对象变为 0 个才结束(对应元素个数 4 即执行 4 次)。
用語
解答問98ウ
练这一题

作答记录