Java中經典算法之冒泡排序
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) {
}
/**
* 冒泡排序
* 借助中間變量 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中經典算法之冒泡排序