public class bubbleSort {
public static void main(String[] args) {
int[] a = {9,3,2,9,4,8};
int count = 0;
for(int j=0;j<a.length-1;j++) {
睿共享 boolean flag = false;
for(int i=0;i<a.length-1-j;i++) {
if(a[i]>a[i+1]) {
int temp = a[i];
睿共享 a[i]=a[i+1];
a[i+1]=temp;
flag = true;
}
if(flag == false) {
break;
}
count++;
}
} System.out.println(count+"次");
for(int i=0;i<a.length;睿共享 i++) {
System.out.println(a[i]);
}
}
}
优化可以在内循环加入-j(j是外循环 -j是为了每次遍历都会得到最大的数,把-j写进去,可以减去下一次循环,可以不用加进去)
优化加入 boolean flag=tru睿共享 e;减少没有意义的比较 把flag=false加入判断里面 在外循环加入 如果flag=true的话 就表示判断里面没有进行比较睿共享 ,也就是说里面的值已经排好了,无需在进行比较