初めまして日本で就活している韓国人、
真面目な開発者 シム ドンモクです。
今日はソートアルゴリズムである1つバブルソート(Bubble sort)について勉強します。バブルソート(Bubble sort)はパソコンを専攻している方なら殆どコードの内容や原理を覚えていると思います。そのぐらい原理も簡単だしコードの長さも短いソートアルゴリズムです。
バブルソート(Bubble sort)は隣り合う要素と比較して大数が後ろに移動される方式です。
7 4 5 2をバブルソート(Bubble sort)で整列してみます。
1) 7 4 5 2
2) 4 7 5 2
3) 4 5 7 2
4) 4 5 2 7
5) 4 2 5 7
6) 2 4 5 7
上の例みたいにバブルソート(Bubble sort)は隣り合うの値と比較して大数を後ろに配置するアルゴリズムです。
C++のコードの内容です。

バブルソート(Bubble sort)で一番大事な部分は8番から19番のfor文の内容です。
バブルソート(Bubble sort)の内容で難しい部分はfor文の継続条件を指定する事だと思います。1つ目のfor文(8番)で範囲を配列と同じ大きさで宣言します。この次、2つ目のfor文(10番)で配列の大きさで1をマイナスしてiをマイナスする方法でfor文の範囲を指定します。利用はバブルソート(Bubble sort)は1回実行する時一番最後の値が整列で除外されるので先の方法で範囲を指定します。この部分がバブルソート(Bubble sort)で一番ミスし易い部分なので注意して下さい。
バブルソート(Bubble sort)は具現し易いですが効率が一番悪いです。
バブルソート(Bubble sort)は具現が一番簡単なソートアルゴリズムですが効率が一番悪いです。バブルソート(Bubble sort)をビッグ・オー記法で表現するとO(n^2)です。O(n^2)は他のソートアルゴリズム、選択ソートと同じ速さですがバブルソート(Bubble sort)の方が最悪だと言われます。実際バブルソート(Bubble sort)と選択ソートを一緒に実行してみるとバブルソート(Bubble sort)の方が長い時間がかかります。理由はバブルソート(Bubble sort)はfor文の中でずっとswapを実行します。このswapの部分が結果的に結構長い時間を使うので選択ソートよりバブルソート(Bubble sort)の方が効率が良く無いです。
ここまでがバブルソート(Bubble sort)の基本的な説明でした。有難う御座います。
もしバブルソート(Bubble sort)について韓国語の説明が必要な方がいらっしゃると
https://blog.naver.com/dmjack私の韓国のブログですご覧ください。