從小到大的排序:(最前面的數和一步步和後面的數比較,如果大於則交換,如果不大於則繼續迴圈)
方法1:
data = [65, 1, 45, 77, 3, 9, 43, 23, 7, 53, 213, 10] for i in range(1, len(data)): # 因為j+1在列表最後加到了大於列表數的值,所以只要剛好迴圈到列表結束就可以了 for j in range(len(data)-i): # 減去列表迴圈的次數 if data[j] > data[j+1]: tmp = data[j+1] data[j+1] = data[j] data[j] = tmp print(data)
方法2(和方法1相比,略過了最後兩次比較的迴圈):
for i in range(len(data)-2): # 把最後兩次迴圈略過,最後兩次不用比較 for j in range(len(data)-i-1): # 讓j 不超出長度 if data[j] > data[j + 1]: tmp = data[j+1] data[j+1] = data[j] data[j] = tmp print(data)
結果:
[1, 3, 7, 9, 10, 23, 43, 45, 53, 65, 77, 213]