public class BubbleSort{
public static void bubbleSort(int[] arr){
for(int i = 0; i < arr.length - 1; i++){//冒泡的次数,总数-1
for(int j = 0; j < arr.length - 1 - i; j++){//比较相邻的数
if(arr[j] > arr[j+1]){
swap(arr, j, j+1);
}
}
}
}
public static void swap(int[] arr, int a, int b){
int temp = arr[a];
int[a] = int[b];
int[b] = temp;
}
}
时间复杂度:
- 最坏情况(完全逆序):O(n²)
- 最好情况(已有序):O(n²)(即使有序,仍然会完整遍历)
空间复杂度:O(1)
稳定性:稳定