本篇文章給大家帶來的內容是關於Java排序演算法:冒泡排序的演算法實現(代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所協助。
冒泡排序法是最基本的排序法之一,冒泡排序法的運行機制是通過迴圈遍曆元素並調整相鄰元素順序來實現的一種簡單排序方法。冒泡排序的實質是相鄰兩個元素比較,然後按照升序或降序調換位置。
下為降序冒泡排序的代碼:
public class Training {public static void main(String[] args) { int [] array = {3,2,5,1,4};for (int time = 1; loopTime < array.length; loopTime++) {for (int i = 0,temp = 0; i < array.length-loopTime; i++) {if (array[i+1]>array[i]) {temp = array[i+1];array[i+1] = array[i];array[i] = temp;}}}for (int i = 0; i < array.length; i++) {System.out.println(array[i]);} }}
該for迴圈每迴圈一次就會將較大的資料放在適當的位置,比如loopTime=1;則將最大資料放在最後;loopTime=2;則將第二大資料放在倒數第二個元素位置; array.length-loopTime:從提高代碼的效能角度出發,減少該迴圈“多餘”的迴圈次數;
下為運行結果:
當然,還有升序的冒泡排序,其實只需將“if (array[i+1]>array[i])”中的布爾條件改成array[i+1]<array[i]即可。
for (int i = 0; i < array.length-time; i++) {if (array[i+1]<array[i]) {temp = array[i+1];array[i+1] = array[i];array[i] = temp;}}