広告スペース(バナー)
🔧C言語 レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 35 / 68
選択ソート(セレクションソート)の仕組みを理解する
このレッスンでは、C言語で選択ソートのアルゴリズムを実装する方法を学び、並び替えの仕組みを基礎から理解することを目標にします。「C言語 選択ソート 実装」で調べている方向けです。
選択ソートは、未処理の範囲から最小値を探して先頭に持ってくる、を繰り返して並び替えるシンプルなアルゴリズムです。「トランプを1枚ずつ、一番小さいカードから並べ直す」ようなイメージです。
サンプルコードでは、外側のループで未処理範囲の先頭位置を決め、内側のループで最小値の位置minIndexを探し、最後にその位置の値と先頭の値を入れ替えています。バブルソートとは異なる並び替えの発想に注目してみましょう。
初心者がよくつまずくのが、バブルソートとの違いです。選択ソートは「毎回1つの正しい位置を確定させる」という考え方で、隣り合う要素を次々に入れ替えるバブルソートとはアルゴリズムの発想が異なります。
実務では標準ライブラリのqsort()のような最適化された実装を使うのが基本ですが、内部で何が行われているかを理解する上で学習用として重要なアルゴリズムです。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではC言語を直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
泡のように値が浮かび上がっていく、ソートの仕組みそのものを自分で実装できるようになります。
泡のように値が浮かび上がっていく、ソートの仕組みそのものを自分で実装できるようになります。
広告スペース(バナー)
広告スペース(記事内)