注意:
1 循环圈数越来越少
2 每次循环比较次数越来越少
3 每次比较都从索引0和索引1开始
public class BubbleSort{
public static void main(String[] args){
int[] arr1={5,2,1,3,6};
Sort(arr1);
printArray(arr1);
}
public static void Sort (int [] arr){
//外层循坏用来控制数组循环的圈数
for(int i =0;i<=arr.length-1;i++){
//内层循环用来完成元素值的比较,把大的元素放在后面
for(int j = 0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){//如果前者大于后者,交换位置
int temp = arr[j];
arr[j] = arr [j+1];
arr[j+1] = temp;
}else{//否则继续下一步比较
continue;
}
}
}
}
//格式化打印数组
public static void printArray(int[] arr){
System.out.print("[");
for (int i = 0;i<arr.length;i++){
if(i==arr.length-1){
System.out.println(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
}