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 }
该代码和选择排序的有很多类似之处。