import java.util.Objects;
/**
* 空间复杂度:1
* 最好时间复杂度:n
* 最坏时间复杂度:n^2
* 平均时间复杂度:n^2
* 稳定性:稳定
*/
public class BubbleSort {
private static void swap(int[] array, int a, int b) {
if (a == b) {
return;
}
int t = array[a];
array[a] = array[b];
array[b] = t;
}
private static void sort(int[] array) {
if (Objects.isNull(array) || array.length == 0) {
return;
}
int len = array.length;
for (int i = len - 1;i >= 0; -- i) {
boolean exchanged = false;
for (int j = 0;j < i; ++ j) {
if (array[j] > array[j + 1]) {
exchanged = true;
swap(array, j, j + 1);
}
}
if (!exchanged) {
return;
}
}
}
public static void main(String[] args) {
int[] array = {9, 2, 3, 6, 4, 8, 5, 0, 7, 1};
sort(array);
for (int i = 0;i < array.length; ++ i) {
System.out.println(array[i]);
}
}
}
转载于:https://blog.51cto.com/tianyiya/2178869