問題
次の擬似言語プログラムは配列dataをバブルソートで昇順整列する。外側ループが1回終わった時点(i=1完了時)の配列状態はどれか。 整数型の配列: data ← {5, 2, 8, 1, 9} 整数型: i ← 1 while (i ≦ 4) 整数型: j ← 1 while (j ≦ 5 - i) if (data[j] > data[j + 1]) 整数型: t ← data[j] data[j] ← data[j + 1] data[j + 1] ← t endif j ← j + 1 endwhile i ← i + 1 endwhile
選択肢
- 1ア {2, 5, 1, 8, 9}
- 2イ {2, 5, 8, 1, 9}
- 3ウ {1, 2, 5, 8, 9}
- 4エ {5, 2, 8, 1, 9}
解答と解説を見る
正解
1. ア {2, 5, 1, 8, 9}
解説
1回目外側ループ: {5,2,8,1,9}→(5>2)→{2,5,8,1,9}→(5≦8そのまま)→(8>1)→{2,5,1,8,9}→(8≦9そのまま)。結果: {2, 5, 1, 8, 9}。