Сортировка «пузырьком»
обозначим за n длину массива и n раз пройдёмся по нему слева направо, меняя два соседних элемента, если первый больше второго.
Каждую итерацию максимальный элемент «всплывает» как пузырек к концу массива — отсюда и название.
from random import randint
N = 10
a = []
for i in range(N):
a.append(randint(1, 99))
print(a)
for i in range(N-1):
for j in range(N-i-1):
if a[j] > a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
print(a)
С помощью циклов while:
from random import randint
N = 10
a = []
for i in range(N):
a.append(randint(1, 99))
print(a)
i = 0
while i < N - 1:
j = 0
while j < N - 1 - i:
if a[j] > a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
j += 1
i += 1
print(a)