冒泡排序
冒泡排序(Bubble Sort):重復地遍歷要排序的數列,依次比較兩個元素,如果他們的順序不符就把他們交換過來。就像氣泡一樣,需要排序的元素通過比較、交換位置,一點一點浮到對應的位置。
個人理解的原理:
1、比較相鄰的元素。例:需要進行升序排列,如果:元素1 > 元素2 那么元素1和元素2就互換位置。(每次比較就像一個小步驟)
2、依次對每一對相鄰元素比較,從第一對到最后一對。每次完成后就把最大的元素排到當次的最后了。(這樣就完成了一個大步驟)
3、重復從頭開始進行1、2的內容,但是因為前一次的比較后,都會有一個元素的位置確定,所以需要比較的元素會越來越少。
個人小節:
升序就每次循環把最大的排每次循環的后面
降序排列,就是每次循環把最小的排每次循環的最后面
list1 = [3, 5, 1, 2] 從左往右進行升序排列
具體實現:
for i in range(len(list1)-1): # 這個循環負責設置冒泡排序進行(大步驟)的次數 for index in range(len(list1)-i-1): # 負責每個小步驟的進行,並提供索引 if list1[index] > list1[index+1]: list1[index], list1[index+1] = list1[index+1], list1[index] print(list1)