Прошу знающих людей объяснить мне один момент который я еще недоконца понял. Я знаю что надо поставить флаг чтобы исключить лишние интерации. Знаю что его нужно поставить наверху над циклом(вот здесь я не понимаю, но знаю что так положенно) , перед вычислением и в конце. И если цикл вычисллений не работал то значение False остается неизмененым и цикл дожен завершится. Впервые решил воспользоватся визуализатором, загрузил, и увидел что за время работы программы флаг несколько раз переключался в False и обратно в TRue и программа продолжала работать, а после окнчания сортировки благополучно завершилась. Теперь я не понимаю
Python:
a = [17, 24, 91, 96, 67, -27, 79, -71, -71, 58, 48, 88, -16, -78, 96, -76, 56, 92, 14, -6, 52]
n = len(a)
sort =True
while sort:
sort = False
for j in range(n - 1):
if a[j] > a[j + 1]:
a[j], a[j + 1] = a[j + 1], a[j]
sort = True
print(a)