冒泡优化
public static void main(String[] args) {
int arr[]={1,3,2,4,6,5,5};
for (int i = 0; i < arr.length-1; i++) {//外循环循环数组的arr.length-1 次
boolean flag=false;//开关,若有一次所有元素没有交换位置,视为已经排好序,不用在继续循环
for (int j = 0; j < arr.length-1-i; j++) {// 内循环 循环 arr.length-1 -i 次,循环一次,最外层就是最大/最小的数,就可以少循环一次
if(arr[j]>arr[j+1]){// 比较 交换位置
int temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
flag=true;
}
}
System.out.print(“循环第”);
System.out.println(i+1+“次,结果为:”+Arrays.toString(arr));
if(!flag)break;
}
System.out.println(“结束后:”+Arrays.toString(arr));
}