Python氣泡排序

2021-08-21 05:11:00 字數 760 閱讀 6906

需求:對於一串不知道個數的無序數進行從大到小或從小到大排序。

氣泡排序:思想:首先第乙個數與第二個數做比較,大者放後面作為新的第二個數,然後,第二個數再與第三個數作比較,大者放後面作為新的第三個數,以此類推,相鄰兩位置數比較大小,若前者大於後者,則交換位置,這樣遍歷完一次資料就把最大數放在了最後面,即確定了最大數,第二次遍歷則去除最大數,確定次大數,以此類推,假設共n個數,則需遍歷n-1次,每次遍歷做比較的次數n-i,i表示第i次遍歷。

程式實現:

def bubble_sort(list):

#控制遍歷次數

for i in range(len(list)-1):

#控制每次遍歷比較的次數

for j in range(len(list)-1-i): #

解釋:減

i是減去後面已經排好的數,減

1是下面採用的比較時j與

j+1的比較

#相鄰兩數比較,大著放後面

if list[j]>list[j+1]:

tmp=list[j]

list[j]=list[j+1]

list[j+1]=tmp

if __name__=='__main__':

list=

for i in range(15):

print(list) #

列表的輸出方式

bubble_sort(list)

print(list)

時間複雜度:o(n^2)  兩個for迴圈

排序 氣泡排序 Python

依次比較相鄰兩元素的大小,順序與要求的不一致就交換。這樣會把待排序序列中的最大 最小 元素不斷 浮 到最右端,最終完成公升序或降序排列。對序列 2,4,1,3,6,5 按公升序排列 只記錄有交換發生的迴圈 第一次迴圈 2,4,1,3,6,5 2,1,4,3,6,5 2,1,3,4,6,5 2,1,3...

Python排序 氣泡排序

排序 氣泡排序 氣泡排序演算法的原理如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需...

python氣泡排序

氣泡排序 重複遍歷需要排序的數列,一次比較倆個元素,如果他們的順序錯誤就把他們交換過來,遍歷數列的工作是重複的進行指導沒有再需要交換,完成排序。演算法過程如下 分析 對乙個序列需要進行n 1一次冒泡過程,每次對應的比較次數從第一次的 n 1 次逐步減少為1。實現 def maopao sort al...