# Python冒泡排序
# 冒泡排序思路:冒泡排序就是冒氣泡,大的氣泡上浮,小的氣泡下沉,相鄰兩個元素比較
# 每次遍歷比較相鄰元素,將大的放在後面
# 這裡就有個問題?外循環控制什麼?內循環控制什麼?
# 外循環控制遍歷次數,內循環控制比較次數
numbers = [1, 5, 4, 8, 6, 8, 7, 4, 9, 10, 9, 5]
count = len(numbers)
temp = 0
for i in range(1, count):# 這裡是控制外層循環,外循環循環幾次?11次,因為最後一次內循環的比較是,第一個數與第二個數比較
for j in range(count - i):
# 這裡是如何比較,內循環第一次遍歷,比較第一個數和第二個數,內循環第二次遍歷,比較第二個數和第三個數,第一次的j最大為10,否則索引越界
if numbers[j] > numbers[j + 1]:
temp = numbers[j]
numbers[j] = numbers[j + 1]
numbers[j + 1] = temp
print(numbers)
# [1, 4, 4, 5, 5, 6, 7, 8, 8, 9, 9, 10]