python 氣泡排序的python語法實現

2021-09-17 02:10:20 字數 884 閱讀 2044

氣泡排序(英語:bubble sort)是⼀種簡單的排序演算法。它重複地遍歷要排序的數列,⼀次⽐較兩個元素,如果他們的順序錯誤就把他們交換過來。遍歷數列的⼯作是重複地進⾏直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越⼩的元素會經由交換慢慢「浮」到數列的頂端。

1)⽐較相鄰的元素。如果第⼀個⽐第⼆個⼤(公升序),就交換他們兩個。

2)對每⼀對相鄰元素作同樣的⼯作,從開始第⼀對到結尾的最後⼀對。這步做完後,最後的元素會是最⼤的數。

3)針對所有的元素重複以上的步驟,除了最後⼀個。

4)持續每次對越來越少的元素重複上⾯的步驟,直到沒有任何⼀對數字需要⽐較。

def bubble_sort(alist):

"""氣泡排序"""

n = len(alist)

for j in range(n - 1): # j [0,1,2...,n-2]

count = 0

for i in range(0, n - 1 - j):

# i表示每次遍歷需要比較的次數,是逐漸減小的

if alist[i] > alist[i + 1]:

alist[i], alist[i + 1] = alist[i + 1], alist[i]

count += 1

# 排序優化,若count為0,則迴圈未調換元素位置,即排序已完成,終止迴圈

if 0 == count:

break

if __name__ == '__main__':

li = [54, 26, 93, 17, 77, 31, 44, 55, 20]

print(li)

bubble_sort(li)

print(li)

python的氣泡排序

氣泡排序 英語 bubble sort 是一種簡單的排序演算法。它重複地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來,直到不再需要交換,也就是說該數列已經排序完成。按照定義,兩兩排序,遇到第一次交換就重新遍歷,從第乙個數開始,直到不再需要交換,排序完成。在這裡,分享三種氣泡...

排序 氣泡排序 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排序 氣泡排序

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