![学習者](https://kankiriblog.com/wp-content/uploads/2021/12/F55F8647-668D-49DE-8C61-D632A3E79233-300x300.jpeg)
選択ソート(選択法)のやり方が難しいし、そもそも内容がわからない。。
![著者](https://kankiriblog.com/wp-content/uploads/2021/11/無題3_20211110090346-150x150.png)
これからわかりやすく、理解できるように図を用いながら紹介していきます!
選択ソートとは何かをフローチャートを用いて説明していきます。
ソートアルゴリズムの一つである「選択ソート」を一緒にマスターしましょう♪
選択ソートとは?
![](https://kankiriblog.com/wp-content/uploads/2021/12/F55F8647-668D-49DE-8C61-D632A3E79233-300x300.jpeg)
選択ソートって何ですか??
![](https://kankiriblog.com/wp-content/uploads/2021/11/無題3_20211110090346-150x150.png)
一言で表すと、「比較に基づくソーティングの一種」です!!
![](https://kankiriblog.com/wp-content/uploads/2021/12/F55F8647-668D-49DE-8C61-D632A3E79233-300x300.jpeg)
バブルソートの時にも「比較に基づくソーティングの一種」と書かれていましたよね?
![](https://kankiriblog.com/wp-content/uploads/2021/11/無題3_20211110090346-150x150.png)
そうですね♪
バブルソートと似たような方法なので、間違えないようにしましょう!
選択ソートは、バブルソートと同じく「比較に基づくソーティングの一種」なので、違いをちゃんと理解する必要があります。
バブルソートについて復習したい方は以下を参考にしてください。
![](https://kankiriblog.com/wp-content/uploads/2021/12/F55F8647-668D-49DE-8C61-D632A3E79233-300x300.jpeg)
では、選択ソートの特徴は何ですか?
![](https://kankiriblog.com/wp-content/uploads/2021/11/無題3_20211110090346-150x150.png)
それは「配列の中の全ての要素を参照して、1番小さな要素を探す」です。
アルゴリズム
![](https://kankiriblog.com/wp-content/uploads/2021/11/無題3_20211110090346-150x150.png)
特徴を理解するために、アルゴリズムを見てみましょう!
選択ソートのアルゴリズムは3ステップを行うだけです!
- 整列されていない全ての要素の最小値を探す
- 見つけた要素を整列されている最後尾に入れ替える
- まだ整列されていない要素があるなら1、2を繰り返し行い、無くなれば終了する。
図で表すと以下になります。
![](https://kankiriblog.com/wp-content/uploads/2021/12/b2c6483c52594ed7fe4ec16addd92509.png)
![](https://kankiriblog.com/wp-content/uploads/2021/11/無題3_20211110090346-150x150.png)
色のついているものが、その時の整列していないときの最小値になっています!
3の場合は入れ替えをする必要がないため、他の数字と入れ替わっていません!
フローチャート
フローチャートについてどんなものだったか忘れた方には、以下の記事内にて説明がありますのでご覧ください。
フローチャートでアルゴリズムを書くとこのようになります!
![](https://kankiriblog.com/wp-content/uploads/2021/12/15834217bbf81f493736e40468868678.png)
ここで、min関数は配列の中の指定された範囲内で一番小さい値が入っている座標を指します。
また、swap関数は配列の指定された場所の値を入れ替えるものになります。
![](https://kankiriblog.com/wp-content/uploads/2021/12/B5FD686F-0D7C-4F3D-981D-ECDC39786E97-300x300.jpeg)
選択ソートについてよくわかりました!!!
まとめ
今回はソートアルゴリズムの一つである選択ソートを解説しました!
選択ソートを初めて知る方にもわかりやすく説明していきました。
プログラミングについて本格的に勉強を始めようか悩んでいる方に向けて、おすすめのプログラミングスクールを紹介してありますのでぜひ興味のある方はご覧ください。