解説
選択ソートは、並べ替えの考え方がいちばん分かりやすいアルゴリズムです。
手順は次の通りです。
1. 未整列の範囲から最小値を探す。
2. それを未整列範囲の先頭と交換する。
3. 整列済みを1つ増やし、残りについて繰り返す。
各ステップ後のリストを表示するので、左から順に確定していく様子が見えます。比較回数は約 n×n/2 回(O(n²))。a, b = b, a で値を一度に入れ替えられる点にも注目しましょう。
書き方
選択ソート: 未整列から最小値を選び先頭へ。 ・二重ループ: 外 i、内 j で最小の添字 min_idx を探す。 ・data[i], data[min_idx] = data[min_idx], data[i] で交換(同時代入)。O(n²)。
書いて動かす
この回の課題
未整列部分の最小値を選んで先頭に置く操作をくり返し、各ステップの配列を表示しながら並べ替えよう。
コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。
もっと本格的に使うなら
Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。