1、思想
冒泡排序的思想是小数往上浮,大数向下沉,并且沉下去的数下次不再处理,而向上浮的过程要一遍又一遍。排序算法的核心是比较交换,查找算法的核心是比较;
2、代码
/**
* 冒泡排序算法
*
* @param src
* 原始数据数组
* @return 有序数据数组
*/
private static <T extends Comparable<T>> T[] bubbleSort(T[] src) {
int length = src.length; // 序列长度
for (int i = 0; i < length - 1; i++) {// 遍历循环
for (int j = 0; j < length - 1 - i; j++) {// 遍历无序数列,有序数列屏蔽
int compare = src[j].compareTo(src[j + 1]);// 如果数比较大就往下沉
if (compare > 0) {
T temp = src[j];
src[j] = src[j + 1];
src[j + 1] = temp;
}
}
}
return src;
}