冒泡排序

  • 冒泡排序无疑是最为出名的排序算法之一,共有八大排序

  • 冒泡排序程序代码比较简单,两层循环,外层循环控制冒泡轮数,里层循环进行比较

  • 冒泡排序程序案例:

    public class BubbleSort {public static void main(String[] args) {int[] ints = {23,4567,9,86,34,962,7,89,0,65,42,37};// 降序排序System.out.println("========1、降序排序========");sort(ints, "DESC");System.out.println(Arrays.toString(ints));// 升序排序System.out.println("========2、升序排序========");sort(ints, "ASC");System.out.println(Arrays.toString(ints));}// 冒泡排序思路解析(降序):// 1、数组中元素比较,两个相邻的元素进行比较,如果第一个元素数值比第二个元素数值大(或者小),则将两个元素的位置进行交换// 2、每一次的元素数值比较,都会产生一个最大元素数值,或最小元素数值// 3、下一轮则可以少一次排序操作// 4、依次循环,直到排完所有元素顺序public static void sort(int[] ints, String orderBy){// 外层循环,判断需要走多少轮for (int i = 0; i < ints.length - 1; i++) {// 内存循环,比较两个元素数值,无果第一个数比第二个数大,则交换位置// 此处需要减i,因为每排完一个数值,下次就不需要在对其进行排序了for (int j = 0; j < ints.length -1 - i; j++) {// 降序if ("DESC".equals(orderBy)) {if(ints[j + 1] > ints[j]){int temInt = ints[j];ints[j] = ints[j + 1];ints[j + 1] = temInt;}}// 升序if ("ASC".equals(orderBy)) {if(ints[j + 1] < ints[j]){int temInt = ints[j];ints[j] = ints[j + 1];ints[j + 1] = temInt;}}}}}
    }
    // --------------------------------------
    // 控制栏输出打印:
    /**========1、降序排序========[4567, 962, 89, 86, 65, 42, 37, 34, 23, 9, 7, 0]========2、升序排序========[0, 7, 9, 23, 34, 37, 42, 65, 86, 89, 962, 4567]*/
    

Java修炼之凡界篇 筑基期 第05卷 数组 第07话 冒泡排序相关推荐

  1. Java修炼之凡界篇 筑基期 第05卷 数组 第03话 数组基本特点和边界

    数组基本特点和边界 数组基本特点 数组长度是确定的,数组一旦被创建,其大小就是不可以在更改 数组元素必须是相同类型,不允许出现混合类型 数组元素可以是任何数据类型,包括基本类型和引用类型 数组变量属于 ...

  2. Java修炼之凡界篇 筑基期 第05卷 数组 第06话 Arrays 类

    Arrays 类 数组工具类 java.util.Arrays 数组本身没有方法供开发人员进行调用,Java API 提供了一个工具类 Arrays 供开发人员进行使用,可以使用这个工具类对数据处理一 ...

  3. Java修炼之凡界篇 筑基期 第05卷 数组 第04话 数组的使用

    数组使用 程序案例: public class ArrayUse {public static void main(String[] args) {int[] arrayInt = {4, 7, 1, ...

  4. Java修炼之凡界篇 筑基期 第05卷 数组 第05话 多维数组

    多维数组 多维数组可以看成是数组的数组 二维数组语法格式: dataType[][] arrayRefVar; 二维数组初始化: // 静态初始化 int[][] mutidArray = {{1, ...

  5. Java修炼之凡界篇 筑基期 第05卷 数组 番外1 稀疏数组

    稀疏数组 稀疏数组是一种数据结构 当一个数组中大部分元素为0,或者为同一数值时,可以使用稀疏数组来保存该数组(压缩数据) 稀疏数组的处理方式: 记录数组一共有几行几列,有多少个不同值 把具有不同值的元 ...

  6. Java修炼之凡界篇 筑基期 第02卷 语法 第06话 运算符

    运算符 Java语言支持的运算符: 算术运算符:+, -, *, /, %, ++, – 赋值运算符:= 关系运算符:>, <, >=, <=, ==, !=, instanc ...

  7. Java修炼之凡界篇 筑基期 第04卷 方法 第01话 什么是方法

    什么是方法 什么是方法 方法是 Java 语言中程序语句的集合,它们在一起去执行某一项功能 方法是解决一类问题步骤的有序组合 方法包含在类或者对象中 方法在程序中被创建,在其他地方被引用(调用) 方法 ...

  8. Java修炼之凡界篇 筑基期 第02卷 语法 第03话 数据类型

    数据类型 PS:平常生活中,也会用到一些数据的类型,例如:数字.字符(文字).是.非,且数字分为整数和小数,在Java中也是和生活中一样,有属于自己的数据类型,Java种有八大基本数据类型和一些引用类 ...

  9. Java修炼之凡界篇 筑基期 第01卷 入门 第04话 JDK JRE JVM

    JDK JRE JVM JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK), 在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里 ...

最新文章

  1. pytorch 优化器 机器学习 调参
  2. 小白初学搭建 配置本地yum
  3. js date转string_JS之你到底是什么类型?
  4. 三星I9000挖煤模式和R模式进入方法
  5. [Luogu] P1939 【模板】矩阵加速(数列)
  6. 创建型模式二:工厂方法模式
  7. mysql批量导入已经格式好的文本数据
  8. 剑指offer——面试题20:顺时针打印矩阵
  9. 动态迁移到另一点出现电源关闭的原因及解决方法
  10. 用html5制作古诗,古诗词书签制作
  11. CdS纳米微粒/聚苯乙烯核壳微球/聚苯乙烯包裹CdSe MSQDs荧光量子点微球的内容
  12. 软件测试工程师成长之路 掌握软件测试九大技术主题
  13. 微信小程序 微信授权登录 微信登录
  14. 第16节 调试-粒子系统放在地球上,不见了
  15. Mysql笔试+面试题积累(实时更新)
  16. Java EE 概览
  17. aws saa是什么缩写?aws saa认证考察什么?
  18. 革文:B2B企业如何用品牌思维玩转社群营销
  19. WeLink协作文档,职场的贴心助手
  20. CAKEPHP 文件夹结构

热门文章

  1. c语言程序设计a题库,c语言程序设计试题(A).doc
  2. vivo2021笔试愚人节礼品盒问题
  3. 北工大计算机网络开卷考试,北工大操作系统试卷.doc
  4. 忘记Win2000登录密码的解决办法
  5. 统一暗色浏览器扩展--Dark Reader
  6. 计算机水平cet2是什么等级,英语水平CET2是什么意思
  7. idea-提示内存不足
  8. 用计算机怎样弄出告白密码,2019最火的表白密码 表白方式
  9. 集成Linux版QQ Ylmf OS 2.0新功能点评
  10. (文献随笔)解析未经治疗的人类黑色素瘤脑转移的生态系统 (Cell, 2022年7月7日)