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