冒泡排序和直接排序相比,如果源数据本身是有序的,冒泡排序比直接排序更有效率。
冒泡排序最差的情况是和直接排序效率一样的。
1 package array;
2 /**
3 *
4 * @author likainian
5 * 1784186573@qq.com
6 */
7 public class BubbleSort {
8 public static void main(String[] args) {
9 int[] arr4 = new int[] { 1,3, 5, 4 };
10 // 冒泡排序,小到大
11 for (int i = 0; i < arr4.length; i++) {
12 for (int j = 0; j < arr4.length - 1 - i; j++) {
13 if (arr4[j] > arr4[j + 1]) {
14 int temp = arr4[j];
15 arr4[j] = arr4[j + 1];
16 arr4[j + 1] = temp;
17 }
18 }
19 }
20 for (int i : arr4) {
21 System.out.println(i);
22 }
23 // 冒泡,大到小
24 for (int i = 0; i < arr4.length - 1; i++) {
25 for (int j = 0; j < arr4.length - 1 - i; j++) {
26 if (arr4[j] < arr4[j + 1]) {
27 arr4[j] = arr4[j] ^ arr4[j + 1];
28 arr4[j + 1] = arr4[j] ^ arr4[j + 1];
29 arr4[j] = arr4[j] ^ arr4[j + 1];
30 }
31 }
32 }
33 for (int i = 0; i < arr4.length; i++) {
34 System.out.println(arr4[i]);
35 }
36
37 }
38 }