1、基础版本
/**
* 冒泡排序
* 时间复杂度 O(n²)
*
*/
public static void BubbleSort(int[] nums) {
for (int i = 0; i < nums.length; i++) {
for (int j = nums.length - 1; j > i; j--) {
if (nums[j] < nums[j - 1]) {
int tmp = nums[j];
nums[j] = nums[j - 1];
nums[j - 1] = tmp;
}
}
}
}
2、改进版本
/**
* 冒泡排序改进版本
* 时间复杂度 O(n²)
*
*/
public static void BubbleSort2(int[] nums) {
boolean flag = true;
for (int i = 0; i < nums.length && flag; i++) {
flag = false;
for (int j = nums.length - 1; j > i; j--) {
if (nums[j] < nums[j - 1]) {
int tmp = nums[j];
nums[j] = nums[j - 1];
nums[j - 1] = tmp;
flag = true;
}
}
}
}