我叫:冒泡排序【JAVA】

1.什么是冒泡排序?

冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。

2.来个实战应用

我们举一个具体的案例来说明冒泡法。我们将五个无序的数:3,9,-1,10,20使用冒泡排序法将其排成一个从小到大的有序数列。

3.实战总结

  • 一共进行数组的大小-1次大的循环

  • 每一趟排序的次数在逐渐的减少

  • 每一排序的次数住逐新的减少如果我们发现在某趟排序中,没有发生一次交换,可以提前结束冒泡排序。

4.代码助力

java 复制代码
 int[] array = new int[]{3, 9, -1, 10, 2};

        for (int i = 0; i < array.length - 1; i++) {
            for (int j = 0; j < array.length - i - 1; j++) {
                if (array[j] > array[j + 1]) {
                    int temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
            }
                System.out.println("第"+(i+1)+"趟排序后的顺序:"+Arrays.toString(array));
        }
        System.out.println("从小到大的排序:"+Arrays.toString(array));
    }

5.优化一下我

  • 每一排序的次数住逐新的减少如果我们发现在某趟排序中,没有发生一次交换,可以提前结束冒泡排序。
java 复制代码
        boolean flag = false;//标识变量
        for (int i = 0; i < array.length - 1; i++) {
            for (int j = 0; j < array.length - i - 1; j++) {
                if (array[j] > array[j + 1]) {
                    flag = true;
                    int temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
            }
            System.out.println("第" + (i + 1) + "趟排序后的顺序:" + Arrays.toString(array));
            if (!flag) {//在一趟排序中,没有发生一次交换
                break;
            } else {
                flag = false;//重置
            }
        }
        System.out.println("从小到大的排序:" + Arrays.toString(array));
    }

相关推荐
碳水加碳水18 分钟前
Java代码审计实战:XML外部实体注入(XXE)深度解析
java·安全·web安全·代码审计
纪元A梦21 分钟前
贪心算法应用:化工反应器调度问题详解
算法·贪心算法
阿让啊1 小时前
C语言strtol 函数使用方法
c语言·数据结构·c++·单片机·嵌入式硬件
深圳市快瞳科技有限公司1 小时前
小场景大市场:猫狗识别算法在宠物智能设备中的应用
算法·计算机视觉·宠物
liulilittle1 小时前
OPENPPP2 —— IP标准校验和算法深度剖析:从原理到SSE2优化实现
网络·c++·网络协议·tcp/ip·算法·ip·通信
努力也学不会java1 小时前
【设计模式】 原型模式
java·设计模式·原型模式
方渐鸿2 小时前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
学亮编程手记2 小时前
K8S v1.33 版本主要新特性介绍
java·容器·kubernetes
Haven-3 小时前
Java-面试八股文-JVM篇
java·jvm·面试
我真的是大笨蛋3 小时前
JVM调优总结
java·jvm·数据库·redis·缓存·性能优化·系统架构