Array 112. Дан массив A размера N (\(\leq\) 6). Упорядочить его по возрастанию методом сортировки простым обменом («пузырьковой» сортировкой): просматривать массив, сравнивая его соседние элементы (\(A_1\) и \(A_2\), \(A_2\) и \(A_3\) и т. д.) и меняя их местами, если левый элемент пары больше правого; повторить описанные действия N - 1 раз. Для контроля за выполняемыми действиями выводить содержимое массива после каждого просмотра. Учесть, что при каждом просмотре количество анализируемых пар можно уменьшить на 1.

Решение на Python 3

import random

N = random.randrange(2,10)
#a = [2*(i+1) for i in range(N)]
A = [random.randrange(0,10) for i in range(N)]
print("N = ", N)
print("Array:")
print(A)

for i in range(1,N) :
for j in range(0,N-i) :
if A[j] > A[j+1] :
A[j], A[j+1] = A[j+1], A[j]

print("Modified Array:")
print(A)