問題
次の擬似言語プログラムを実行したとき、配列dataの内容はどれか。 整数型の配列: data ← {5, 3, 8, 1, 4} /* 選択ソート 1パス目 */ 整数型: minIdx ← 1 整数型: j ← 2 while (j ≦ 5) if (data[j] < data[minIdx]) minIdx ← j endif j ← j + 1 endwhile 整数型: temp ← data[1] data[1] ← data[minIdx] data[minIdx] ← temp
選択肢
- 1ア {1, 3, 8, 5, 4}
- 2イ {3, 5, 8, 1, 4}
- 3ウ {1, 3, 5, 4, 8}
- 4エ {5, 3, 8, 1, 4}
解答と解説を見る
正解
1. ア {1, 3, 8, 5, 4}
解説
選択ソート1パス目は最小値(data[4]=1)を見つけてdata[1]=5と交換。結果は{1, 3, 8, 5, 4}。