title: 冒泡排序(改进)
date: 2020-03-29
tags: java
categories: 编程
改进思路:
数组元素可能提前已经排好序了,如果已经排好序循环还未结束的话,那内循环会继续做无意义的比较(因为所有元素已经是有序啦),
因此就可以在内循环的 if 中设置flag来监控排序算法有没有把元素交换位置,如果交换了位置则把flag赋新值。因此可以在外循环中判断flag有没有变化,
变化了就说明有元素发生了交换;没有变化则说明元素已经排序好了,也就是可以直接break整个循环了。
代码如下:
import java.util.Arrays;
public class 冒泡排序 {
public static void main(String[] args) {
int[] a