問題描述 冒泡排序是一種簡單的常見的排序算法,算法重復(fù)的走訪排序的數(shù)組,通過不斷的兩兩比較,,最終把最大數(shù)浮于上方,,好比是可樂的氣泡冒泡的過程,所以生動的稱之為“冒泡排序”,。 接下來,將用java的方式進(jìn)行編寫。 解決方案 1流程圖 2流程描述 比較相鄰兩個數(shù),,如果下標(biāo)小的數(shù)大于了下標(biāo)大的數(shù),則交換兩個數(shù)的位置,。 按照上述方法,,從第一個數(shù)開始比較,知道比較到最后一個數(shù)結(jié)尾,,最后的數(shù),,則是該數(shù)組的最大值。 比出一個數(shù)后,,繼續(xù)比較,,直到所有數(shù)都比較一次。直到?jīng)]有數(shù)的順序可以交換為止,。 3生活實例 體育課上,,老師讓我們按照身高排位置,就是利用的冒泡算法,。 4問題解決 4.1第一趟排序 我們拿到問題,,大多數(shù)時候是不能一次性解決的,所以我先將第一趟排序?qū)崿F(xiàn),,再做后面的研究,。
4.2完整代碼
結(jié)果如下: 結(jié)語 冒泡排序是非常經(jīng)典的算法,問題本身不難,,需要學(xué)習(xí)的是解決問題的思路,。當(dāng)遇到一個復(fù)雜的問題時,應(yīng)該先從簡單入手,,把問題簡單化,。比如這次的冒泡排序,可以先完成一次排序,,再來完成后面的多次排序,,逐步優(yōu)化代碼。 主 編 | 王文星 責(zé) 編 | 王 宇 where2go 團隊 |
|