1. 程式人生 > >Java中經典算法之冒泡排序

Java中經典算法之冒泡排序

控制 ram 小數 冒泡排序 地方 AR pri span mage

Java中,數組是最常用的工具,下面具體說一說。

數組聲明的三種方式:

1.數組類型[] 數組名=new 數組類型[數組長度];

2.數組類型[] 數組名={數組0,數組1,數組2,數組3,....};

3.數組類型[] 數組名=new 數組類型[]{數組0,數組1,數組2,...};

下面就三種方法一一舉例說明:

String[] number=new String[5]; //直接聲明數組的長度
int[] num={20,12,60,51,85,2,3,12,0}; //直接列舉出數組中的數據

double[] nums=new double[]{12,20,30,10}; //列舉數組中的數據

接下來才是我今天要說的重點

Java中經典算法之冒泡排序

原理:比較兩個相鄰的元素,將值大的元素交換至右端。

思路:依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重復第一趟步驟,直至全部排序完成。

冒泡排序的實例圖

技術分享圖片

冒泡排序的過程很簡單,就是將第一個記錄的關鍵字和第二個記錄的關鍵字進行比較,如果後面的比前面的小則交換,然後比較第二個和第三個,依次類推。比完一趟,最大的那個已經放到了最後的位置,這樣就可以對前面N-1個數再循環比較。

下面就來看看如何利用代碼實現的

punlic static void main(String[] args){

/**
* 聲明數組的三種方法
*/
//String[] number=new String[5]; //直接聲明數組的長度
//double[] nums=new double[]{12,20,30,10}; //列舉數組中的數據
int[] num={20,12,60,51,85,2,3,12,0}; //直接列舉出數組中的數據
System.out.println("排序前數組的順序=====================");
for (int item:num) {

System.out.print(" "+item);
}

/**
* 冒泡排序
* 借助中間變量 temp 進行的交換
* @param num
*/
for (int i = 0; i < num.length; i++) { ///外層循環控制排序趟數
for (int j = 0; j < num.length-1-i; j++) { //內層循環控制每一趟排序多少次
if(num[j]>num[j+1]){ //如果後一個數小於前一個數
int temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}

System.out.println();
System.out.println("排序後數組的順序=====================");
for (int item:num) {
System.out.print(" "+item);
}

}

控制臺打印結果:

技術分享圖片

到此為止,Java中經典算法之冒泡排序基本結束。

歡迎大家評論或者指出不足的地方!!!

Java中經典算法之冒泡排序