Java程式碼之冒泡法排序
阿新 • • 發佈:2019-02-05
相信很多寫程式碼的菜鳥都會有這麼一個感覺:剛開始的時候用程式碼實現了一個功能,比如說用冒泡法實現了對一個數組的排序,覺得這個功能也很簡單,容易理解。但是過一段時間,你又回過頭來發現怎麼這麼簡單的一個功能竟然程式碼寫不出來了,甚至卡在了中間某一個地方,遲遲沒有思路,下不了手。這是怎麼了,我個人認為是因為你沒有在當時好好的思考和總結。你只是想快點實現這個功能,早點結束,而沒有想為什麼實現這個功能要這樣做,是不是還有更簡便的方法。要學會自己去理解,這點很重要。好了,廢話不多說了,畢竟是第一篇部落格。說點其他的望理解。
首先我的思路是:對任意一個隨機生成的陣列(int[] a),你應該知道陣列的長度(a.length)。然後遍歷該陣列,從第一個數開始一次向後比較,將較大的數向後移動,直至比較到陣列的最後一個數(a[a.length-1])。第一次比較完後該陣列的最後一位就是整個陣列的最大的數。接著再從第一個數開始依次向後比較大小,較大的數向後移動,直至比較到陣列的倒數第二個數(a[a.length-2])。第二次比較完後該陣列的最後兩個數就是整個陣列的最大兩個數。中間一樣按上面的方法比較。直到第一個數和第二個數進行比較,比較完後排序也就完成了。
上面的思路好好理解,不難的。程式碼截圖如下:
執行後的結果如下圖所示: