图解:
代码分析:
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 }