冒泡排序

package acm.result.test1;

/**
 * @author BTiger
 *
 */
public class Main {

 /**
  * 冒泡排序 9 19 21 22 23 25 59 63 70 73
  * 一次比較相鄰的兩個, 冒泡排序(BubbleSort)的基本概念是:依次比較相鄰的兩個數
  * ,將小數放在前面,大數放在後面。即在第一趟:首先比較第1個和第2個數
  * ,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續
  * ,直至比較最後兩個數,將小數放前,大數放後。至此第一趟結束,將最大的數放到了最後
  * 。在第二趟:仍從第一對數開始比較(因爲可能由於第2個數和第3個數的交換
  * ,使得第1個數不再小於第2個數),將小數放前,大數放後,一直比較到倒數第二個數
  * (倒數第一的位置上已經是最大的),第二趟結束,在倒數第二的位置上得到一個新的最大數
  * (其實在整個數列中是第二大的數)。如此下去,重複以上過程,直至最終完成排序。
  *
  * @param args
  */
 public static void main(String[] args) {
  int[] test = new int[10];
  for (int i = 0; i < 10; i++) {
   test[i] = (int) (Math.random() * 100);
  }
  for (int i = 1; i < test.length; i++) {
   for (int j = 0; j < test.length - i; j++) {
    if (test[j + 1] < test[j]) {
     int temp = test[j];
     test[j] = test[j + 1];
     test[j + 1] = temp;
    }
   }
   System.out.print("第" + i + "次交換:");
   for (int n = 0; n < test.length; n++) {
    System.out.print(test[n] + " ");
   }
   System.out.println();
  }
 }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章