算法原理如下:
- 給出一組數據;
- 比較相鄰的元素。如果第一個比第二個大,互換兩個值。
- 對每一組相鄰元素同樣方式比較,從開始的第一組到結束的最后一組。最后的元素會是最大數。
- 除了排列好的最大數,針對所有元素重復以上步驟。
- 每排列一次,便會縮短未排序數列。持續重復上面的操作,直到沒有任何一對數需要比較。
- 排序完成。
這里給出這一組數,我們從第一個開始,比較相鄰的元素,
兩個數比較,第一個數小于其后面相鄰數,所以位置不用改變,第二個數及其后面相鄰數比較,也不用改變,
然后第三個數及其后面相鄰數比較,第三個數大于其后面相鄰數,那么我們讓兩個數交換位置,
然后繼續比較第四個及其后面相鄰數,改變位置,
以此類推直到倒數第二個數及其后面相鄰數進行比較,
我們會發現,這一輪下來,最大的數會被放在最后,那么下一次再進行排序時,就不需要再去讓最后一個數參與比較,這樣可以有效減少代碼運行時間,提高代碼效率,
那么我們下面來用代碼實現一下,
下面運行一下,
冒泡排序就完成了,里面需要注意的是循環的嵌套使用