簡單說下,氣泡排序思路就是先從無排序的第乙個元素依次與後面的元素做比較,獲取比較中大的一方,小的一方放到前一位置,然後進行下次比較,最後找到本輪最大的乙個後,將剩下的再進行一輪排序。
**實現上可能各有不同,但是思路都是一樣。
貼出我的實現,不是很簡潔,debug了一段時間
lt = [1, 100, 2, 23, 23, 6, 41, 24, 24, 85, 56]
sorted_list = list()
for i in range(len(lt)): # 冒泡比較遍歷次數
temp_max = none
for idx, v in enumerate(lt):
if not temp_max: # 將第乙個取值作為臨時最大值
temp_max = v
if temp_max <= v:
if idx == 0:
continue
else:
lt[idx-1], temp_max = temp_max, v
else:
lt[idx-1] = v
lt.pop() # 取出最後乙個元素,剩餘的元素開始新一輪排序
print(sorted_list)
執行結果
[100, 85, 56, 41, 24, 24, 23, 23, 6, 2, 1]
1 #假設變數已經全部定義好
2 for i in range(len-1):
3 for j in range(len-1-i):
4 if a[j] > a[j+1]:
5 a[j], a[j+1] = a[j+1], a[j]
測試[1]
測試腳注,看來支援markdown腳注! ↩︎
氣泡排序(python實現)
coding utf 8 created on tue jul 4 11 37 19 2017 data list cnt num all 0 def data in func data list,cnt num all while true judge continue input 請選擇是輸入資...
氣泡排序(Python實現)
氣泡排序 bubble sort 是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的元素列,一次比較兩個相鄰的元素,如果他們的順序 如從大到小 首字母從a到z 錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。這個演算法的名字由來是因為...
Python實現氣泡排序
氣泡排序 bubble sort 是最容易理解的排序演算法之一,但是執行效率有點低。冒泡過程 對待排序部分 假設有m個元素 從頭開始進行兩兩比較,如果第乙個比第二個大 公升序 就交換他們兩個。這樣本輪排序結束後就可以保證值最大的元素在最右邊,那麼下次只需要對前面 m 1 個數進行冒泡。完整的氣泡排序...