冒泡排序

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();
  }
 }
}

 

你可能感兴趣的:(冒泡排序)