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]
Post #600108
1.8K
Forwarded from Aleksey Strekozov 🇷🇺
- 🤓 4
- 💊 1