无人不知无人不晓的冒泡排序,据说是模仿泡泡从水中浮起跑到水面的过程。来看一下代码:
package cn.songxinqiang.study.algorithm.sort;
import java.util.Arrays;
/**
* 冒泡排序
*
*
* 众里寻她千百度, 蓦然回首, 那人却在灯火阑珊处.
*
*
* @author 阿信sxq-2015年7月16日
*
*/
public class BubbleSort {
/**
* 原理:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:
* 每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
*
* @author 阿信sxq-2015年7月16日
*
* @param args
*/
public static void main(String[] args) {
int a[] = { 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 };
int temp = 0;
for (int i = 0; i
for (int j = 0; j
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
System.out.println(Arrays.toString(a));
}
}
输出为:
[4, 5, 12, 13, 15, 17, 18, 23, 25, 27, 34, 34, 35, 38, 49, 49, 51, 53, 54, 56, 62, 64, 65, 76, 78, 97, 98, 99]
冒泡排序比较简单,但是也比较浪费时间,在此基础上有很多改良的排序方法,后面博客中说明