#19

選択ソート

未整列の中から最小値を選んで先頭に置く、を繰り返して並べ替えます。

解説

選択ソートは、並べ替えの考え方がいちばん分かりやすいアルゴリズムです。 手順は次の通りです。 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 なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。