冒泡排序及优化

算法思路:
1、比较相邻的两个元素,如果第一个大于第二个则交换;
2、从第一对到最后一对,重复第1步;
3、作length-1次循环每次对比找到最大的数排到最后,直到排序完成;

示例代码:

public class Demo {
    public static void main(String[] args) {
        int[] values = { 3, 1, 6, 2, 9, 0, 7, 4, 5, 8 };
        int temp = 0;
        for (int i = 0; i < values.length - 1; i++) {
            //boolean flag = true; 优化
            for (int j = 0; j < values.length - 1 - i; j++) {
                // 比较大小,换顺序
                if (values[j] > values[j + 1]) {
                    temp = values[j + 1];
                    values[j + 1] = values[j];
                    values[j] = temp;
                    //flag = false;
                }
                //System.out.println(Arrays.toString(values));
            }
            //if (flag) {
            //    System.out.println("结束!!!");
            //    break;
            //}
            //System.out.println("###########");
        }

        for (int k = 0; k < values.length; k++) {
            System.out.print(values[k] + " ");
        }

    }
}

优化注释:部分避免不必要的排序


   转载规则


《冒泡排序及优化》 zfylearn 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
快速排序 快速排序
2019-10-10 zfylearn
下一篇 
如何使用API 如何使用API
初学到的对api的使用,总结一下,加深记忆,我认为主要可从功能作用、继承体系、构造器、方法、四个方面来了解。 一、功能作用 看这里直接上图 二、继承体系 三、构造器 分为两种情况 显示有构造器和没有构造器 有构造器 调
2019-08-19 zfylearn
  目录