本文冒泡排序的两种形式,本来感觉挺简单的,觉得没必要,但是经历了好多,其实是吃了不少亏哈哈,才觉得任何一个小问题都值得被关注
第一种方法
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);
}
}