本文冒泡排序的两种形式,本来感觉挺简单的,觉得没必要,但是经历了好多,其实是吃了不少亏哈哈,才觉得任何一个小问题都值得被关注
第一种方法
public class example{public static void swap(int[] arr,int i,int j){ arr[i]^=arr[j];arr[j]^=arr[i];arr[i]^=arr[j]; }public static void sort fistMethod(int[] arr){ int end=arr.length,i=0;while(end>0){if(arr[i]>arr[i+1]){swap(arr,i,i+1);}}if(i==end-1)}public static void main(){int[] arr=new int[10];for(int i=0;i<10;i++){arr[i]=(int)(Math.random()*11); }firstMethod(arr);}
}
第二种
public class example{public static void swap(int[] arr,int i,int j){ arr[i]^=arr[j];arr[j]^=arr[i];arr[i]^=arr[j]; }public static void sort secondMethod(int[] arr){for(int i=arr.length-1,i>0;i--){for(int j=0;j<i;j++){if(arr[j]>arr[j+1]){swap(arr,j,j+1);}}}}public static void main(){Random random=new Random();int[] arr=new int[10];for(int i=0;i<10;i++){ arr[i]=(int)(random.nextInt(11)); }secondMethod(arr);}
}