冒泡排序

冒泡排序和直接排序相比,如果源数据本身是有序的,冒泡排序比直接排序更有效率。

冒泡排序最差的情况是和直接排序效率一样的。

 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 }

 

posted @ 2016-08-31 09:10  autumnleaves  阅读(131)  评论(0编辑  收藏  举报