Java 冒泡排序2020-07-25

// 定数组

int[] arr = {10, 2, 62, 3, 40};

// 定义一个计数器:同来计算比较多少次

int count =0;

// 排序

int q;

boolean flag;

for (int a =1; a <= arr.length -1; a++) {

// 没一趟比较,都拿一个开关,定义一个开关:

    flag =true;

    ;// 默认开关时开着的

        for (int b =0; b <= arr.length - a -1; b++) {

count++;

        if (arr[b] > arr[b +1]) {// 前面的数比后面的数大,才进行交换:

// 交换:

            q = arr[b];

            arr[b] = arr[b +1];

            arr[b +1] = q;

            flag =false;

            ;// 只要交换了,开关就关上

        }

}

if (flag) {// 假如一直没有交换,那么这个开关一直时开着的,一直开着的证明数组时有序的,那么不在进行下一轮比较

        break;

    }

}

System.out.println(Arrays.toString(arr));

System.out.println("一共进行了" + count +"几次比较");

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。