一、冒泡排序
1、每次对比相邻的两个数字 1-2 ,2-3 ,3-4…
2、每轮比较到得到一个最大值放在最后
{2, 43, 23, 12, 45, 22, 55, 11} —> {2, 23, 12, 43, 22, 45, 11,55} // 比较一轮的结果
3、每次挑选一个值,需要挑选 n -1 次。
4、优化 已被挑选后的值,位置不需要再次比较 -j
private static void bubble(int[] numArr) {
if(numArr==null || numArr.length<=1){
return;
}
for (int j = 0; j < numArr.length; j++) {// 比较轮数
// 每次循环 查找出最大值 排在最后
for (int i = 0; i < numArr.length - 1 -j; i++) {
// 查找的最右边的结果值 没有对比的必要
int a = numArr[i];
int b = numArr[i + 1];
if (a > b) {
numArr[i] = b;
numArr[i + 1] = a;
}
}
}
// 输出结果
for (int i = 0; i < numArr.length; i++) {
System.out.println(numArr[i]);
}
}