1
我對這段代碼的工作原理感到困惑。瞭解Python中的氣泡排序
假設列表的輸入是[C,B,A,退出]。
在第一個「爲」語句,它會掉周圍的列表中的位置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