python氣泡排序詳解

2021-09-12 04:12:11 字數 1150 閱讀 5703

要學習氣泡排序必須知道它的原理:

氣泡排序演算法的原理如下:

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

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

持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

例子

1,2,3,4,5,6

就拿1到6來舉例子吧!這裡面有n個數字,你要對其進行從大到小的排序的話,你就要拿相鄰的兩個數進行比較,如果第乙個數比第二個大就交換他們的位置:第二個就和第三個比較,一直這樣下去,直到最小的就會在最後面了,然後繼續從第一和第二個進行比較,如此下去。

第1輪: 1,2,3,4,5,62,1,3,4,5,6     2,3,1,4,5,6    2,3,4,1,5,6    2,3,4,5,1,6    2,3,4,5,6,1

第2輪:2,3,4,5,6,13,2,4,5,6,1     3,4,2,5,6,1    3,4,5,2,6,1    3,4,5,6,2,1

第3輪:3,4,5,6,2,14,3,5,6,2,1     4,5,3,6,2,1    4,5,6,3,2,1

第4輪:4,5,6,3,2,15,4,6,3,2,1     5,6,4,3,2,1

第5輪:5,6,4,3,2,16,5,4,3,2,1

由上面可以清楚了解到乙個進行了五輪排序,後一輪都要比前一輪少一次比較,第一輪進行n-1次比較

這樣就可以編寫**了

a_list = [1, 2, 3, 4, 5, 6]

for t in range(len(a_list)-1):

for i in range(0, len(a_list)-1):

tmp = a_list[i]

if a_list[i] < a_list[i+1]:

a_list[i] = a_list[i+1]

a_list[i+1] =tmp

print(a_list)

這樣就是氣泡排序了。

排序詳解 氣泡排序

氣泡排序 bubble sort 是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢 浮 到數列的頂端,...

氣泡排序詳解

冒泡嘛,就是大的氣泡在上面,就如 第一趟 從後面依次往前 173和178比較,在依次173與175,後面都是如此 第二趟 最小已經在第一排,第一排固定不動。第三趟 最小已經在第一排 第二排,第一排 第二排固定不動。第四趟 最小已經在第一排 第二排 第三排,第一排 第二排 第三排固定不動。這樣,便實現...

氣泡排序詳解

氣泡排序可以說是排序中乙個十分重要的內容,很多時候都會遇到,比如面試,考試等。下面就來寫一寫氣泡排序,也可以加深一下自己的理解。氣泡排序原理,依次比較相鄰的兩個元素,把較大的元素移至後端 每趟排序找出較大的值放在後端。給定乙個陣列,例如 2,8,4,6,1 第一趟排序 將8移至後端 第一次排序 2,...