×
科目A|アルゴリズムとプログラミング

バブルソート | 応用情報技術者試験

バブルソートとは

バブルソート(Bubble Sort / 交換法)とは、データ群を並べ替えるソートアルゴリズムの一種で、隣り合う2つのデータの大小を比較し、順序が逆であれば入れ替えるという操作を、配列の端から順に繰り返す方法です。この操作を繰り返すと、軽い(値が小さい)要素が徐々に上に上がり、重い(値が大きい)要素が底へ沈むように並び替わります。泡(バブル)が浮かび上がってくる様子に似ていることから名付けられました。

具体例

バラバラに並んだ「5, 3, 8, 2」を昇順にする際、まず隣の5と3を比較して入れ替え「3, 5, 8, 2」とし、次に5と8はそのまま、最後に8と2を比較して入れ替え「3, 5, 2, 8」とする。これを繰り返して全体を整列させます。
// バブルソートの入れ替えのイメージ
[5, 3, 8, 2] --> 5と3を比較して交換
[3, 5, 8, 2] --> 5と8を比較してそのまま
[3, 5, 8, 2] --> 8と2を比較して交換
[3, 5, 2, 8] --> 1周目の終わり(最大値の8が右端に移動した)

もう少し詳しく