// 冒泡排序 从右缩小范围 最小值放在最右边
public static void bubbleSort(int[] arr) {
if (arr == null || arr.length < 2) {
return;
}
for (int i = arr.length - 1; i > 0; i--) { // 控制每一轮的数据范围,必须是全部数据length-1
for (int j = 0; j < i; j++) { // 前后交换,为了数组不越界后一个数据是边界 需要j<i
if (arr[j] > arr[j + 1]) {
swap(arr, j, j + 1);
}
}
}
}
// 冒泡排序 从左缩小范围 最小值放在最右边
public static void bubbleSort1(int[] arr) {
if (arr == null || arr.length < 2) {
return;
}
for (int i = 0; i < arr.length - 1; i++) { // 控制每一轮的数据范围,必须是全部数据length-1
for (int j = i; j < arr.length - 2 && arr[j] > arr[j + 1]; j++) { // 前后交换,为了数组不越界后一个数据是边界 需要j<i
swap(arr, j, j + 1);
}
}
}