Сортировка пузырьком проблемы с выводом
Сам алгоритм работает, но нужно, чтобы при каждой перестановке выводился результат сортировки. То если была одна перестановка, то массив выводился в консоль один раз, если перестановка не требуется (все числа в массиве равны) тоже выводится один раз
def bubble_sort(array):
for i in range(len(array)-1):
counter = 0
for j in range(len(array)-1-i):
if array[j] > array[j+1]:
array[j], array[j+1] = array[j+1], array[j]
counter += 1
if counter > 0:
print(' '.join(map(str, array)))
else:
print(' '.join(map(str, array)))
break
n = int(input()) # вводим 5
array = [int(x) for x in input().strip().split()] # вводим 12 8 9 10 11
bubble_sort(array) # ожидаем вывод вида 8 9 10 11 12 (то есть только одна строка)
# а получаем 8 9 10 11 12
# 8 9 10 11 12
Update Решение, которое предложили, работает как задумано
def bubble_sort(array):
nosorting = True
for i in range(len(array)-1):
counter = 0
for j in range(len(array)-1-i):
if array[j] > array[j+1]:
array[j], array[j+1] = array[j+1], array[j]
counter += 1
if counter > 0:
nosorting = False
print(' '.join(map(str, array)))
else:
break
if nosorting == True:
print(' '.join(map(str, array)))
n = int(input())
array = [int(x) for x in input().strip().split()]
bubble_sort(array)