始める無料で始める

バブルソートアルゴリズムのバグ修正

あなたには、バブルソート アルゴリズムで数値のリストを並べ替えるプログラムが渡されています。テストしてみると、コードに誤りがあることに気づきました。正しく動作するようにアルゴリズムを修正できますか?

この演習はコースの一部です

Pythonで学ぶデータ構造とアルゴリズム

コースを見る

演習の手順

  • is_sorted 変数の代入にある誤りを修正してください。
  • 隣接する値のチェックにある誤りを修正してください。
  • list_length 変数の値を更新する箇所の誤りを修正してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

def bubble_sort(my_list):
  list_length = len(my_list)
  # Correct the mistake
  is_sorted = True
  while not is_sorted:
    is_sorted = True
    for i in range(list_length-1):
      # Correct the mistake
      if my_list[i] < my_list[i+1]:
        my_list[i] , my_list[i+1] = my_list[i+1] , my_list[i]
        is_sorted = False
    # Correct the mistake
    list_length += 1
  return my_list

print(bubble_sort([5, 7, 9, 1, 4, 2]))
コードを編集して実行