![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5yNwEjM1EGMiFmMlZ2MzETNlNzMwgjMlBTM1YmYjhjNh9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.gif)
捏臉求關注~
快,關注這個公衆号
一起漲姿勢
百度百科對冒泡排序的算法原理描述:
1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
2、對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3、針對所有的元素重複以上的步驟,除了最後一個。
4、持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較
源代碼:
輸出每次周遊結果
其中 a[k], a[l] = a[l], a[k] 可以改成 c = a[k], a[k] = a[l], a[l ] =c,c相當于臨時變量
另外代碼還可以進行優化,将條件 b 放到 for 循環中
for i in range(b, 0, -1)---------含義:b-0是範圍,每次循環結束後減1
調試過程
總結
其實算法不難,先理清思路問題就變得簡單了,然後就可以嘗試着輸出代碼了,debug 是個很好的幫手,一步步調試看資料是如何變化的,可以更好的了解程式是怎麼實作這段代碼的
請思考:如何一行代碼搞定(順序 or 倒序顯示)
公布答案(可以複制代碼到 IDE 中執行檢視結果)
注解:
sorted函數 不會改變清單本身(可了解為先複制清單,再順序整理),參數 reverse 用于逆序排序
在右下角戳一個小花花
你是最好看的