1. 程式人生 > >Python實現幾種簡單的排序演算法

Python實現幾種簡單的排序演算法

一.氣泡排序

概念:為一個無序的列表排成有序的

實現過程描述:(升序)

  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)

 

未完待續