java

冒泡排序

rzk · 8月8日 · 2020年本文共511个字 · 预计阅读2分钟90次已读
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的话 就表示判断里面没有进行比较睿共享,也就是说里面的值已经排好了,无需在进行比较

0 条回应