冒泡排序的原理
在无序区间,通过相邻数的比较,将最大的数冒泡到无序区间的最后,持续这个过程,直到数组整体有序
冒泡排序实现
public class Sort {
public static void bubbleSort(int[] array) {
for (int bound = 0; bound < array.length; bound++) {
for (int cur = array.length - 1; cur > bound; cur--) {
//如果不满足排序规则就交换
if (array[cur] < array[cur - 1]) {
int temp = array[cur];
array[cur] = array[cur - 1];
array[cur - 1] = temp;
}
}
}
}
public static void main(String[] args) {
int[] arr = {9, 5, 2, 7, 3, 6, 8, 1};
bubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
}
性能分析
时间复杂度 | 空间复杂度 |
---|---|
O(n ^ 2) | O(1) |
数据逆序 |
稳定性:稳定