Я действительно смущен тем, как работает этот код.Понимание Bubble Sort в Python
Предположим, что входы для списка - [C, B, A, exit].
На первый "за" заявление, оно будет поменять по списку позиций 0 и 1, которые являются C и B.
Это приведет к новому списку с [B, C, A]
Однако почему во втором наборе операторов «for» он будет заменять A и B вместо C и A? Это можно увидеть на фотографии, где на выходе указано, что она заменит B и A. Я так смущен, почему это будет сделано, если вместо этого следует использовать позиции 1 и 2 списка.
Я пробовал ручной трассировать код, и я всегда получаю, что C и A должны были поменяться местами. Может кто-нибудь помочь объяснить это мне? Спасибо вам большое заранее
def bubble(alist):
count = 0
count2 = 0
for length in range(len(list)):
for i in range(len(list) - 1):
if list[i] > list[i + 1]:
print("Swapping", list[i + 1], list[length])
tmp = list[length]
list[length] = list[i+1]
list[i + 1] = tmp
list = []
while True:
val = input()
if val == "exit":
break
list.append(val)
counts = bubble(list)
print(list)
Изображения выхода
Ах. Спасибо!. Думаю, я понял это сейчас! – HiDanny