冒泡排序和直接排序相比,如果源数据本身是有序的,冒泡排序比直接排序更有效率。
冒泡排序最差的情况是和直接排序效率一样的。
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 }