
目錄
- 冒泡排序
- 冒泡排序原理
- Python代碼實作冒泡排序
冒泡排序
冒泡排序,其英文為Bubble Sort,是指把一組資料從左邊開始依次進行兩兩交換,小的方前面,大的放后面,通過反復比較一直到沒有資料需要交換為止,
該排序方法由于很像水里的泡泡,從水底冒出的,故稱之為冒泡排序,
冒泡排序原理
冒牌排序的原理如下:
- 從串列開始,依次兩兩比較值的大小,把大的往后交換,一直到末尾,這樣串列中最大的值肯定就是末尾的值,
- 接著,在從串列開始,兩兩比較知道交換到倒數第二位,那么第二大的值確定,
- 依次回圈到只剩1,完成所有數的交換后,冒泡排序即完成,
比如,我們現在又一個串列值為[8,0,4,3,2,1],那么我們需要進行5輪回圈,
第1次回圈的圖解:

第2次回圈的圖解:

第3次回圈的圖解:

第4次回圈的圖解:

第5次回圈的圖解:

從上面的圖我們可以發現,我們的串列是6位元素,但是我們只回圈了5次,就得到了最終結果,所以冒牌排序頂層回圈的次數,一定等于串列的長度減1,
后面我們比較數字的時候,一次漏掉一個元素,這是因為最大的資料依次放到了后面,所以,內層回圈的次數是每經過外層回圈1次少1次,直到為0結束,
也就是說,內層次數只要減去外層回圈次數,自然是每次減1,畢竟外層是每次加1,
Python代碼實作冒泡排序
既然原理都已經通過圖解介紹清楚了,下面,就應該介紹如何使用Python代碼實作冒泡排序演算法,示例代碼如下所示:
s_list = [8, 0, 4, 3, 2, 1]
print("排序之前的結果:", s_list)
for i in range(0, len(s_list)):
for j in range(len(s_list) - i - 1):
if s_list[j] >= s_list[j + 1]:
temp = s_list[j + 1]
s_list[j + 1] = s_list[j]
s_list[j] = temp
print("排序之后的結果:", s_list)
運行之后,效果如下:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/292497.html
標籤:python
上一篇:jdk都出到16了8還沒掌握嗎?挽周帶你玩轉java8新特性(建議收藏)
下一篇:Python爬蟲應用
