300 ms
状態: アイドル
比較回数: 0
交換回数: 0
現在のステップ: -
バブルソートとは?
バブルソートは、隣接する要素を比較し、順序が間違っていれば交換する操作を繰り返す単純なソートアルゴリズムです。リストの末尾から最大の要素が「泡(バブル)」のように浮き上がってくるように見えます。
色分け:
通常
比較中
交換中
ソート済み
コード実行状況
def bubble_sort(arr):
n = len(arr)
# n 回のパスを実行 (最適化のため早期終了あり)
for i in range(n):
swapped = False
# 各パスで隣接要素を比較 (末尾のソート済み要素は除く)
for j in range(0, n - i - 1):
# 現在の要素と次の要素を比較
if arr[j] > arr[j + 1]:
# 要素が逆順なら交換
arr[j], arr[j + 1] = arr[j + 1], arr[j]
swapped = True
# このパスで交換がなければ、ソート完了
if not swapped:
break # ループを抜ける
# ソート済み配列 (この関数では返さないが...)
# return arr
コード説明
コントロールボタンでソートを開始してください。