#20

バブルソート

隣り合う2つを比べて逆なら交換、を繰り返すソートです。

解説

バブルソートは、隣り合う要素を比べて順序が逆なら交換する、というシンプルな操作を繰り返す並べ替えです。大きな値が後ろへ泡(bubble)のように移動することから名づけられました。 手順は次の通りです。 1. 左から隣どうしを比較し、左 > 右 なら交換する。 2. 端まで進むと最大値がいちばん後ろに確定する(1パス)。 3. 確定した範囲を除いてパスを繰り返す。 計算量は O(n²) です。動きが目に見えやすく、ソートの入門に向いています。

書き方

バブルソート: 隣どうしを比較し逆なら交換。
・二重ループ: 1パスで最大値が末尾に確定。
・data[j], data[j+1] = data[j+1], data[j] で交換。O(n²)。

書いて動かす

この回の課題

隣接要素を比較・交換するパスをくり返し、各パスの配列を表示しながら昇順に並べ替えよう。

コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。

もっと本格的に使うなら

Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。