diff --git a/code_to_optimize/bubble_sort_3.py b/code_to_optimize/bubble_sort_3.py index db7db5f92..3dd1f1c78 100644 --- a/code_to_optimize/bubble_sort_3.py +++ b/code_to_optimize/bubble_sort_3.py @@ -1,8 +1,13 @@ def sorter(arr): - for i in range(len(arr)): - for j in range(len(arr) - 1): + n = len(arr) + for i in range(n): + swapped = False + for j in range(n - 1 - i): if arr[j] > arr[j + 1]: temp = arr[j] arr[j] = arr[j + 1] arr[j + 1] = temp + swapped = True + if not swapped: + break return arr