少しでも分かりやすく伝えたいバブルソート

少しでも分かりやすく伝えたいバブルソート

皆さんこんにちは!!
今回はバブルソートについて説明していきます!

バブルソートとは

まず、ソート(sort)の意味自体はデータの大小等を比較し並べ替える事を言いますが、今回説明するバブルソートはズバリ言うと、隣の値と比べて大きければ入れ替えるを繰り返すソートになります。

バブルソートのやり方

とりあえず上の説明では余りにざっくりしすぎているので実際にでーたを用いてソートを行っていきたいと思います!

1.データを用意する

まずはソートするデータを用意します。

ソートするデータの用意

今回は上のようなデータを用意しました。
このデータを基に右に行くにつれて値が大きくなるようソートを行っていきます!

2.一つ目の値と二つ目の値の比較を行う

次に一つ目の値と二つ目の値の比較を行います。
今回だと「5」と「2」が比較対象になります。「5 > 2」となり5の方が大きい為、値の入れ替えを行います。

値の入れ替えを行う_1

3.一つずつずらして再び比較を行う

次は一つずらして二つ目の値と三つ目の値の比較を行います。
今回では「5」と「4」が比較対象になります。「5 > 4」となり5の方が大きい為、先ほどと同じ様に値の入れ替えを行います。

値の入れ替えを行う_2

4. 3.の作業を繰り返す

後は3.の作業を繰り返して最後の値の比較が行われるまで同じ要領で比較と入れ替えを行っていきます。
用意した値でやっていくと、三つ目の値と四つ目の値の比較、つまり「5」と「7」の比較を行います。しかし今回は「5 < 7」と右側の数字の方が大きい為、入れ替えは起こりません。

次に四つ目の値と五つ目の値の比較、つまり「7」と「3」の比較を行います。「7 > 3」となり「7」の方が大きい為、値の入れ替えを行います。

値の入れ替えを行う_3

5.最後の値を確定して2.まで戻る

最後の値まで比較が終わったら最後の値を確定します。
というのも、一つずつ比較を行って左側の値が大きければ右側の値と入れ替えるという方法を行っているため、必然的に一番右の値は最大の値となります。

最後の要素の値を確定する

一番大きい値は確定しているため、その値は比較をする必要がなくなりますね。
また2.まで戻ってソートしていくことになりますが、一番大きい値は確定しているので比較が必要な値の数は1つ減ります。

これ以降のソート

残りのデータのソートも行いますが、説明が非常に長くなってしまうため画像のみになります。
ここは手順とは関係ないので最悪読み飛ばしていただいても構いません。

残りのデータのソート_1

残りのデータのソート_2

残りのデータのソート_3

残りのデータのソート_4

残りのデータのソート_5

残りのデータのソート_6

まとめ

バブルソートは隣の値と比較を行っていくことで順番にソートを進めていく方式になります。
他にも様々なソートがあるのでぜひ調べてみてください!