python實現冒泡演算法排序

2021-08-28 17:46:36 字數 783 閱讀 4760

第一篇部落格就以冒泡演算法作為先行者吧。

冒泡演算法通俗一點的理解就是兩個數值進行比較,它重複地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。遍歷數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成,就像小魚吐泡泡一樣。

氣泡排序演算法具體的步驟大致為(降序為例):

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實現冒泡演算法的功能也就是實現了。

Python實現氣泡排序演算法

第一天學習python寫的程式,函式和控制語句沒有括號總感覺有頭沒尾怪怪的,寫長了會不會連語句在什麼控制流裡都搞蒙了呢?coding utf 8 氣泡排序演算法 def bubble sort list,n exchange n 1 while exchange 0 bound exchange e...

python實現氣泡排序演算法

氣泡排序,乙個經典的排序演算法,因在演算法執行中,極值會像水底的氣泡一樣逐漸冒出來,因此而得名。氣泡排序的過程是比較兩個相鄰元素的大小,然後根據大小交換位置,這樣從列表左端開始冒泡,最後最大值會依次從右端冒出。python實現氣泡排序 def bubble sort nums for i in ra...

python排序演算法的實現 冒泡

1.演算法描述 1 共迴圈 n 1 次 2 每次迴圈中,如果 前面的數大於後面的數,就交換 3 設定乙個標籤,如果上次沒有交換,就說明這個是已經好了的。2.usr bin python coding utf 8 defbubble l flag true for i in range len l 1...