入れる正しい答えを,解答群の中から選べ。ここで, 配列の要素番号は 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 解答群 ア 1 2 3 4 5 イ 1 2 3 5 4 ウ 2 1 3 4 5 エ 2 1 3 5 4 答えはエとなります。 以下、私の分からない部分になります。 そもそもの問題の、 「次の手続 sort は,大域の整数型の配列 data の,引数 first で与えられた要素番号 から引数 last で与えられた要素番号までの要素を昇順に整列する。ここで,first < last とする。」の意味がよく分かりません。 「要素番号の要素を昇順」という言葉は、要素番号を昇順にすることを意味するのか、中身を昇順にすることを意味するのか、イマイチよく分かりません。 要素番号を昇順にするもなにも、そもそも要素番号は昇順になっているのでは?と考えてしまいます。 それが故、以下の 「dataの全要素の値を要素番号の順に空白区切りで出力する /*** α ***/」の意味もよく分かりません。元々要素番号は昇順になっているので、そのまま区切ればいいだけなのでは?と、、、 全くの無知で申し訳ありません。お恥ずかしい限りではございますが、この「要素番号の要素を昇順」という言葉の正体を教えてください、、、