def bubble_sort(arr): n = len(arr) # Внешний цикл — как ПЕРЕГОВОРНЫЙ ПРОЦЕСС: # проходим по массиву, пока всё не уляжется. 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 # Пример использования numbers = [5, 1, 4, 2, 8] print(bubble_sort(numbers)) # [1, 2, 4, 5, 8]
- 4
- 2