天天看點

冒泡排序c++_Python 冒泡排序

冒泡排序c++_Python 冒泡排序

捏臉求關注~

快,關注這個公衆号

一起漲姿勢

百度百科對冒泡排序的算法原理描述:

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

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

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

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

源代碼:
冒泡排序c++_Python 冒泡排序

輸出每次周遊結果

其中 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
冒泡排序c++_Python 冒泡排序

調試過程

總結

其實算法不難,先理清思路問題就變得簡單了,然後就可以嘗試着輸出代碼了,debug 是個很好的幫手,一步步調試看資料是如何變化的,可以更好的了解程式是怎麼實作這段代碼的

請思考:如何一行代碼搞定(順序 or 倒序顯示)

公布答案(可以複制代碼到 IDE 中執行檢視結果)

注解:

sorted函數 不會改變清單本身(可了解為先複制清單,再順序整理),參數 reverse 用于逆序排序

冒泡排序c++_Python 冒泡排序

在右下角戳一個小花花

冒泡排序c++_Python 冒泡排序

你是最好看的