去年寫過一篇氣泡排序python實現,外層多了一層迴圈,這裡更正過來~
氣泡排序(以從小到大排序為例)的思想在於,不斷地將當前元素與後乙個元素進行比較,如果當前元素較小,則調換當前元素與後乙個元素的位置,否則保持不變;假設需要排序的元素一共有n
nn個,在i
ii輪排序過程中,從第乙個元素開始,跟後續的(n−
i)
(n-i)
(n−i
)元素進行上述比較(注意:上一輪排序得到的結果不需要拿到下一輪作比較)。最終的排序結果中,開頭的元素是最小值,結尾的元素是最大值。
這裡是氣泡排序的動畫演示。
list_test = [12,-57,23,85,56,-123,-456,250]
class bubsort():
def __init__(self):
self.list_test = list_test
# 用while迴圈實現
def bubble_v1(self):
n = len(self.list_test)
# 進行(n-1)趟排序
while n>1:
# 每趟排序從第乙個元素開始,逐個與後面的元素比較
i = 1
while iself.list_test[i+1]:
self.list_test[i],self.list_test[i+1] = self.list_test[i+1], self.list_test[i]
return self.list_test
if __name__ =='__main__':
getresult = bubsort()
print(getresult.bubble_v1())
print(getresult.bubble_v2())
氣泡排序(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 個數進行冒泡。完整的氣泡排序...