次の記述中の空欄に入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は 1 から始まる。 次の手続 sort は,大域の整数型の配列 data の,引数 first で与えられた要素番号から引数 last で与えられた要素番号までの要素を昇順に整列する。ここで,first < last とする。手続 sort を sort(1, 5) として呼び出すと,/* α */ の行を最初に実行したときの出力は“[ 空欄 ]”となる。 〔プログラム〕 大域: 整数型の配列: data ← {2, 1, 3, 5, 4} ○sort(整数型: first, 整数型: last) 整数型: pivot, i, j pivot ← data[(first + last) ÷ 2 の商] i ← first j ← last while (true) while (data[i] < pivot) i ← i + 1 endwhile while (pivot < data[j]) j ← j - 1 endwhile if (i ≧ j) 繰返し処理を終了する endif data[i]とdata[j]の値を入れ替える i ← i + 1 j ← j - 1 endwhile dataの全要素の値を要素番号の順に空白区切りで出力する /* α */ if (first < i - 1) sort(first, i - 1) endif if (j + 1 < last) sort(j + 1, last) endif
出典:令和5年度 基本情報技術者試験 公開問題 科目B 問3(独立行政法人情報処理推進機構)
問題文・選択肢・正解は公開問題のとおりで、改変していません。解説と補足は当サービスによるものです。