配列 5, 3, 8, 1, 4 をバブルソートで昇順に並べる。先頭から隣どうしを比べ、左の方が大きければ交換する操作を末尾まで1回行った(1パス)後の配列はどれか。
- A1, 3, 8, 5, 4
- B3, 5, 1, 4, 8
- C1, 3, 4, 5, 8
答えと解説を見る
正解:B. 3, 5, 1, 4, 8
5と3を交換して 3, 5, 8, 1, 4、5と8はそのまま、8と1を交換して 3, 5, 1, 8, 4、8と4を交換して 3, 5, 1, 4, 8 になります。1パスで最大値の8が末尾まで運ばれて位置が確定し、次のパスでは残りの4つを同じように並べます。1, 3, 8, 5, 4 は最小値を探して先頭と交換する選択ソートの1パス後の配列、1, 3, 4, 5, 8 はすべて並べ終えた結果です。