Python3 氣泡排序

2021-09-29 05:41:06 字數 856 閱讀 4396

參考:菜鳥教程  

$ 氣泡排序(bubble sort)

重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。一輪一輪,直到無需再交換。

【例】小朋友按身高排序,兩兩比較,矮個子站前面

a:0.9m

b:0.8m

c:1.1m

d:0.75m

e:1.24m

a、b、c、d、e -> b、a、c、d、e 

b、a、c、d、e -> b、a、c、d、e

b、a、c、d、e -> b、a、d、c、e

b、a、d、c、e -> b、a、d、c、e

b、a、d、c、e -> b、d、a、c、e

b、d、a、c、e -> b、d、a、c、e

b、d、a、c、e -> b、d、a、c、e

……$ 氣泡排序**實現

def bubblesort(arr):

n = len(arr)

# 遍歷所有陣列元素

for i in range(n):

for j in range(0, n-i-1): # 第一輪比較n-1次,最大值排在最後;每輪都可以找出下乙個最大值

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

arr[j], arr[j+1] = arr[j+1], arr[j] # 互換位置

arr = [64, 34, 25, 12, 22, 11, 90]

bubblesort(arr)

print ("排序後的陣列:")

for i in range(len(arr)):

print ("%d" %arr[i])

python3氣泡排序

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

氣泡排序 python3 實現

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

Python3簡單實現氣泡排序

話不多說,直接上 coding utf 8 class bubblesort object resultstr def init self,datas self.datas datas self.datas len len datas def sort self for i in range sel...