氣泡排序python實現

2021-10-05 15:58:42 字數 919 閱讀 2144

去年寫過一篇氣泡排序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 個數進行冒泡。完整的氣泡排序...