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

python實現冒泡演算法排序

第一篇部落格就以冒泡演算法作為先行者吧。 冒泡演算法通俗一點的理解就是兩個數值進行比較,它重複地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。遍歷數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成,就像小魚吐泡泡一樣。 氣泡排序演算法具體的步驟大致為(降序為例): 1、比較相鄰(i,i+1)的元素。如果第一個比第二個小,就交換他們兩個。否則不變,進行比較(i+1,i+2)注意是(i+1,i+2)。 2、迴圈進行第一步,直到結尾的最後一對。這步做完後,最後一位數值為列表最小數。 3、針對所有的元素重複以上的步驟,除最後一個。 4、持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

def Bubble_Sort(slist):
    for i in range(len(slist))[::-1]:
    #從 len(slist)-1 到0的倒序遍歷
        for i in range(i):
            if slist[i]>slist[i+1]:
                temp = slist[i]
                slist[i] = slist[i+1]
                slist[i+1] = temp
    return slist

slist=[5,6,3,4,8,1,9,0,2]
print(Bubble_Sort(slist))

輸出結果為slist=[0,1,2,3,4,5,6,7,8,9] 到此為止用python實現冒泡演算法的功能也就是實現了。