冒泡排序

图解:

代码分析:

 1 package com.paixu;
 2 
 3 public class maopaopaixu {
 4     public static void main(String[] args) {
 5         int [] arr = {25,24,99,101,100,552,32,333,5555,99999,686,4598,32,3657,12,11,22,88};
 6         System.out.println("排序前:");
 7         iterator(arr);
 8         System.out.println("-----------------------");
 9         /*
10         //第一次排序
11         for(int i = 0;i<arr.length-1;i++){
12             if(arr[i]>arr[i+1]){
13                 int temp = arr[i];
14                 arr[i] = arr[i+1];
15                 arr[i+1] = temp;
16             }
17         }
18         System.out.println("第一次排序:");
19         iterator(arr);
20         System.out.println("-----------------------");
21         //第二次排序
22         for(int i = 0;i<arr.length-1-1;i++){
23             if(arr[i]>arr[i+1]){
24                 int temp = arr[i];
25                 arr[i] = arr[i+1];
26                 arr[i+1] = temp;
27             }
28         }
29         System.out.println("第二次排序:");
30         iterator(arr);
31         System.out.println("-----------------------");
32         //第三次排序
33         for(int i = 0;i<arr.length-1-1-1;i++){
34             if(arr[i]>arr[i+1]){
35                 int temp = arr[i];
36                 arr[i] = arr[i+1];
37                 arr[i+1] = temp;
38             }
39         }
40         System.out.println("第三次排序:");
41         iterator(arr);
42         */
43         maopaopaixu(arr);
44     }
45     //冒泡排序
46     public static void maopaopaixu(int[] arr){
47         for(int j = 1;j<arr.length-1;j++){
48             for(int i = 0;i<arr.length-j;i++){
49                 if(arr[i]>arr[i+1]){
50                     int temp = arr[i];
51                     arr[i] = arr[i+1];
52                     arr[i+1] = temp;
53                 }
54             }
55         }
56         System.out.println("排序后:");
57         iterator(arr);
58     }
59     //遍历数组
60     public static void iterator(int[] arr){
61         System.out.print("[");
62         for(int x = 0;x<arr.length;x++){
63             if(x == arr.length-1){
64                 System.out.println(arr[x]+"]");
65             }else{
66                 System.out.print(arr[x]+",");
67             }
68         }
69     }
70 }
原文地址:https://www.cnblogs.com/jiangjianzhu/p/5798211.html