冒泡排序
- 基本思想: 在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
- 代码实现:
/** * 打印数组内容 * * @param a */ public static void saymsg(int[] src) { for (int i = 0; i < src.length; i++) { System.out.print(src[i]); System.out.print(" "); } System.out.println(); }
/**
- 冒泡排序
- @param src */ public static void bubbleSort(int[] src) { int temp = 0; for (int i = 0; i < src.length - 1; i++) { for (int j = 0; j < src.length - 1 - i; j++) { if (src[j] > src[j + 1]) { temp = src[j]; src[j] = src[j + 1]; src[j + 1] = temp; } } saymsg(src); } saymsg(src); }
public static void main(String[] args) { int[] src = { 49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 5, 4, 62, 99, 98, 54, 56, 17, 18, 23, 34, 15, 35, 25, 53, 51 }; System.out.println("原始数组排序:"); saymsg(src); bubbleSort(src); }