冒泡排序

冒泡排序過程:數組

  第一步:從前一個元素開始,將相鄰的兩個元素依次進行比較,直到最後兩個元素完成比較。若是前一個元素比後一個元素大,則交換它們的位置。整個過程完成後,數組中最後一個元素天然就是最大值,這樣也就完成了第一輪的比較;spa

       第二步:除了最後一個元素,將剩餘的元素繼續進行兩兩比較,過程與第一步類似,這樣就能夠將數組中第二大的數放到倒數第二個位置上;排序

       第三步:依次類推,持續對愈來愈少的元素重複上面的步驟,知道沒有任何一對元素須要比較爲止。編譯

 

  示例代碼:class

      

package cn.cjj.basic;
/**
* 冒泡排序
* @author CJJ
*
*/
public class demo6_bubbleSort {方法

 

public static void main(String[] args) {
int[] arr = { 5, 7, 2, 1, 9, 4 };
System.out.print("冒泡排序前:");
printArray(arr);
bubbleSort(arr);
System.out.print("冒泡排序後:");
printArray(arr);demo

 

}static

 

/**
* 定義打印數組的方法
*
* @param arr
*/
public static void printArray(int[] arr) {
for (Object array : arr) {
System.out.print(array + " ");
}
System.out.print("\n");
}auth

 

/**
* 實現冒泡排序
*
* @param arr
*/
public static void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
System.out.println("第" + (i + 1) + "輪排序後:");
printArray(arr);
}
}
}co

編譯結果:

冒泡排序前:5 7 2 1 9 4 第1輪排序後:5 2 1 7 4 9 第2輪排序後:2 1 5 4 7 9 第3輪排序後:1 2 4 5 7 9 第4輪排序後:1 2 4 5 7 9 第5輪排序後:1 2 4 5 7 9 冒泡排序後:1 2 4 5 7 9

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息