冒泡排序

 1  package  method.sort;
 2 
 3  public   class  BubbleSort 
 4  {
 5          
 6           /* 
 7           * 1.冒泡排序方法,下面有三种方法
 8           * 2.第一种方法相对更好,因为如果它本身就是有顺序的话,

 9          * 说明不需要第二层循环了,直接退出,这种方法更有效率

10           */
11           public   static   void  bubbleSort( int [] array)
12          {
13                   /*
14                  int temp = 0;
15                  for (int i = array.length - 1; i > 0; --i)
16                  {
17                          boolean isSort = false;
18                          for (int j = 0; j < i; ++j)
19                          {
20                                  if (array[j + 1] < array[j])
21                                  {
22                                          temp = array[j];
23                                          array[j] = array[j + 1];
24                                          array[j + 1] = temp;
25                                          isSort=true;
26                                  }
27                          }
28                          if(!isSort)break;
29                  } 
30                  */
31                  
32                   /*
33                  for(int i = array.length - 1; i > 0; i--)
34                  {
35                          for(int j = 0; j < i; j++)
36                          {
37                                  if(array[j] > array[j + 1])
38                                  {
39                                          array[j] = array[j] + array[j + 1];
40                                          array[j + 1] = array[j] - array[j + 1];
41                                          array[j] = array[j] - array[j + 1];
42                                  }
43                          }
44                  }
45                  */
46                  
47                   for ( int  i =  0 ; i < array.length; i++)
48                  {
49                           for ( int  j =  0 ; j < array.length - i -  1 ; j++)
50                          {
51                                   if (array[j] > array[j +  1 ])
52                                  {
53                                          array[j] = array[j] + array[j +  1 ];
54                                          array[j +  1 ] = array[j] - array[j +  1 ];
55                                          array[j] = array[j] - array[j +  1 ];
56                                  }
57                          }
58                  }
59                  
60          }
61          
62           public   static   void  main(String[] args)
63          {
64                   int [] array =  new   int []{ 8 5 3 89 4 45 78 1 134 3 45 23 2 7 8 89 23 22 566 34 76 0 };
65                  
66                  bubbleSort(array);
67                  
68                   for ( int  i =  0 ; i < array.length;)
69                  {
70                          System.out.print(array[i] +  " \t " );
71                           if (++i %  5  ==  0 )
72                          {
73                                  System.out.println();
74                          }
75                  }
76          }
77          
78  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值