hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。 |
ソートの中でも、一番直感的でわかりやすいソートです。
安定なソートですが、ソート時間はデータ量の2乗に比例します
データを昇順ソートする場合・・・
まず、1番目と2番目のデータを比較します。
1番目のデータのほうが大きければ、1番目と2番目を入れ替えます。
次に、2番目と3番目のデータを比較します。
2番目のデータのほうが大きければ、2番目と3番目を入れ替えます。
次に、3番目と4番目のデータを比較します。
3番目のデータのほうが大きければ、3番目と4番目を入れ替えます。
このとき、4番目のデータは必ず一番大きな数字になっているので
次は、4番目のデータを調べずに、同じことを繰り返します。
1番目と2番目のデータを比較します。
1番目のデータのほうが大きければ、1番目と2番目を入れ替えます。
次に、2番目と3番目のデータを比較します。
2番目のデータのほうが大きければ、2番目と3番目を入れ替えます。
同じように、3番目のデータは4番目より小さい一番大きな数字になっているので、
3番目のデータを調べずに、もう一度同じことをします。
1番目と2番目のデータを比較します。
1番目のデータのほうが大きければ、1番目と2番目を入れ替えます。
これで、ソート完了です。
例えば、
4 | 2 | 1 | 3 |
というデータをソートする場合、
1回目 | 4 | 2 | 1 | 3 |
2 | 4 | 1 | 3 | |
2 | 1 | 4 | 3 | |
2 | 1 | 3 | 4 | |
2回目 | 1 | 2 | 3 | 4 |
1 | 2 | 3 | 4 | |
1 | 2 | 3 | 4 | |
3回目 | 1 | 2 | 3 | 4 |
1 | 2 | 3 | 4 |
のようになります。ソートが必要ない場合も、比較してしまいます・・・
実装例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|