Python實現幾種簡單的排序算法
阿新 • • 發佈:2018-11-16
第一個 出現 冒泡 列表 nbsp 工作 代碼實現 描述 false
一.冒泡排序
概念:為一個無序的列表排成有序的
實現過程描述:(升序)
1.比較相鄰的元素,如果第一個比第二個大,就交換他們的位置
2.對每一對相鄰元素重復1的工作,從開始第一隊到最後一對,最後結束的時候最大的數會在後面
3.針對所有元素重復1,2的工作,除了最後一個數,因為最後的數最大,省略這個過程
4.持續每次對越來越少的元素重復上面的步驟,知道沒有任何一對數字需要比較
復雜度: 時間復雜度為O(n^2)
代碼實現:
#給定一個列表 list = [11,54,3243,323,3,82,121,33,4,5,7,213,51]#冒泡排序 for i in range(1,len(list)): found =False #定義一個變量為False for n in range(len(list)-i): if list[n]>list[n+1]: #當出現逆序交換下表n和n+1的位置 temp = list[n] list[n] = list[n+1] list[n+1] = temp found =True #當出現逆序時,改變變量值為True 如果未發現逆序則表示排序已經完成if not found:#當found值為False,直接跳出循環 break print(list)
未完待續
Python實現幾種簡單的排序算法