public class Bubble { /* 冒泡排序 */ //交换 private static void swap(int[] arry,int i,int j){ int temp = arry[i]; arry[i] = arry[j]; arry[j] = temp; } //显示 private static void show(int[] arry){ for (int i = 0; i < arry.length; i++) { System.out.println(arry[i]); } } // private static void checkArray(int[] a){ if (a==null || a.length < 2){ return; } }
//冒泡排序算法1 protected static void bubbleSort1(int[] a){ checkArray(a); for (int i=0;i<a.length;i++){ for (int j=0;j<a.length-i-1;j++) { if (a[j] > a[j + 1]) { swap(a, j, j + 1); } } } show(a); }
//冒泡排序算法2 protected static void bubbleSort2(int[] a){ checkArray(a); for (int end = a.length-1; end > 0 ; end--) { for (int curr = 0;curr < end;curr++){ if (a[curr] > a[curr+1]){ swap(a,curr,curr+1); } } } show(a); }
public static void main(String[] args){
int[] arry = {3,2,5,8,0,1,7};
bubbleSort1(arry);
bubbleSort2(arry);
}
}