java冒泡排序

冒泡排序

算法思想:相邻的两个元素一一比较,从起始位置开始比较,比较一圈可以得出最大值/最小值,以此类推,每比较一圈参与比较的元素就少一个。

 

 1 //冒泡排序。
 2 public class maopao 
 3 {
 4     public static void main(String[] args)
 5     {
 6         int[] arr = {34,19,11,109,3,56};
 7         System.out.print("排序前:");
 8         printArray(arr);
 9         System.out.print("\n");
10         BubbleSort(arr);
11         System.out.print("排序后:");
12         printArray(arr);
13     }
14     public static void printArray(int[] arr)
15     {
16         System.out.print("[");
17         for(int x=0;x<arr.length; x++) 
18         {
19             if(x!=arr.length-1)
20                 System.out.print(arr[x]+",");
21             else
22                 System.out.print(arr[x]+"]");
23         }    
24     }
25     public static void BubbleSort(int[] arr)
26     {
27         for(int x= 0;x< arr.length;x++)
28         {
29             for(int y= 0;y< arr.length-1-x;y++) //-1,防止溢出
30             {
31                 if(arr[y] >arr [y+1])
32                 {
33                     int temp =arr[y];
34                     arr[y] =arr[y+1];
35                     arr[y+1] =temp;
36                 }
37             }            
38         }
39     }
40 }

该代码和选择排序的有很多类似之处。

posted @ 2018-01-17 17:10  盖盖chen  阅读(228)  评论(0编辑  收藏  举报