1. 程式人生 > >演算法之氣泡排序-python實現

演算法之氣泡排序-python實現

大家好,歡迎收看我的文章,如果感覺我的文章能對您有所幫助,您可以點選關注我,您的支援就是我堅持創作的動力

氣泡排序演算法

比如有6個數: [22,44,33,55,66,77]從大到小排序,對相鄰的兩位進行比較

		第一輪
			第一次比較: 44,22,33,55,66,77
			第二次比較: 44,33,22,55,66,77
			第三次比較: 44,33,55,22,66,77
			第四次比較: 44,33,55,66,22,77
          			第五次比較: 44,33,55,66,77,22

經過第一輪比較後, 六個數中最小的數已經在最後面了, 接下來只比較前五個數, 依次類推

		第二輪
			44,55,66,77,33,22
		第三輪
			55,66,77,44,33,22
		第四輪
			66,77,55,44,33,22
      		第五輪
			77,66,55,44,33,22
      比較完成

程式碼實現



list0 = [2, 4, 3, 7, 8, 1, 0, 5, 11]


list0 = [22, 44, 33, 55, 66, 77]


# 氣泡排序的思想: 每次比較兩個相鄰的元素, 如果他們的順序錯誤就把他們交換位置
def maopao(list0):
    # 列表長度
    length = len(
list0) # ==>6 # 外層迴圈重複(length-1)次 for i in range(length - 1): # 內迴圈依次重複6,5,,...,1(length - i -1) for j in range(length - i - 1): if list0[j] < list0[j + 1]: list0[j], list0[j + 1] = list0[j + 1], list0[j] return list0 if __name__ == '__main__'
: print(maopao(list0))