Python演算法--排序-氣泡排序
阿新 • • 發佈:2020-08-11
一、氣泡排序
我們在學校都學習過排序演算法,這些排序演算法中就有一個我們常提到的氣泡排序(Bubble Sort)。
氣泡排序,顧名思義,就是像水中的小魚吐泡泡一樣,一邊變大,一邊向上浮動,它重複地走查需要進行排序的數列,每次比較兩個相鄰的元素,如果他們的順序是錯誤的,就把他們的順序交換過來。
我們看一下網上的這個示意圖:
對於 N 個元素的列表,如果我們每次只找出一個最大(小)值,那麼我們按理來說需要進行(N-1)次比較即可完成對該列表的排序;
二、編碼實現
不多說,直接上編碼=。=剛開始寫,寫得不好多包涵,哈哈哈哈
# -*- coding: utf-8 -*- # @Author : Sai # @Email : [email protected] # @File : my_sort.py # @Time : 2020/8/11 14:54 def bubble_sort(arr): ''' 氣泡排序 :param arr: 待排序列表 :return: 排序後的列表 ''' for i in range(1, len(arr)): for j in range(0, len(arr) - i): if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j] # print(arr) return arr if __name__ == '__main__': arr1 = [3, 4, 5, 9, 8, 6, 0, 10, 2, 7, 1] print("排序前順序為:" , arr1) new_arr = bubble_sort(arr1) print("排序後順序為:" , new_arr)
執行效果如下:
【參考連結】
https://blog.csdn.net/u014597198/article/details/91395700
https://www.runoob.com/python3/python3-examples.html