排序算法——冒泡

介绍

冒泡排序(Bubble Sort)就是元素两两比较,大的放后面,相等则不理会。交换完一次序列后最大的元素在序列尾部,第二次遍历时可以不予理会。反复遍历直到所有数排序完成。冒牌排序的最大时间复杂度为\(O(n^2)\),即所有元素以反序排列时。 冒泡排序中,最大元素一个个漂浮到序列尾部,如同水泡冒起,因而得名。


实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class BubbleSort {
public static void main(String[] args) {
int[] a = new int[]{4, 2, 6, 44, 45, 23, 67, 21, 3, 4, 8};
int t;
for (int i = a.length; i >= 0; i--) {
for (int j = 0; j < i - 1; j++) {
if (a[j] > a[j + 1]) {
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
for (int value : a) {
System.out.println(value);
}
}
}