冒泡排序(Bubble Sort)是常用的数组排序算法之一

冒泡排序


提示:冒泡排序的基本思想是:对比相邻的元素值,如果满足条件就交换元素值,把较小的元素值移动到数组前面,把大的元素值移动到数组后面(也就是交换两个元素的位置),这样数组元素就像气泡一样从底部上升到顶部。


获取用户在控制台输入的 5 个成绩信息,将这些成绩保存到数组中,然后对数组应用冒泡排序,并输出排序后的结果,实现步骤如下。

一、

示例:创建一个 Test 类文件,在 main() 方法中开始编码。首先创建 Scanner 类的实例后声明 double 类型的 score 数组,然后接收用户在控制台输入的成绩,并保存到元素中。
代码如下(示例):

public static void main(String[] args) {Scanner scan = new Scanner(System.in);double[] score = new double[5];for (int i = 0; i < score.length; i++) {System.out.print("请输入第 " + (i + 1) + " 个成绩:");score[i] = scan.nextDouble();}
}

二、
示例:在对 score 数组排序之前,首先输出数组中各个元素的值。
代码如下(示例):

System.out.println("排序前的元素值:");
for(double val:score) {System.out.print(val+"\t");
}
System.out.println();

三、
通过冒泡排序方法实现对 score 数组的排序,在实现时需要借助一个临时变量
代码如下(示例):

public static void main(String[] args) {System.out.println("通过冒泡排序方法对数组进行排序:");for (int i = 0; i < score.length - 1; i++) {// 比较相邻两个元素,较大的数往后冒泡for (int j = 0; j < score.length - 1 - i; j++) {if (score[j] > score[j + 1]) {double temp = score[j + 1]; // 把第一个元素值保存到临时变量中score[j + 1] = score[j]; // 把第二个元素值转移到第一个元素变量中score[j] = temp; // 把临时变量(第一个元素的原值)保存到第二个元素中}System.out.print(score[j] + " "); // 对排序后的数组元素进行输出}System.out.print("【");for (int j = score.length - 1 - i; j < score.length; j++) {System.out.print(score[j] + " ");}System.out.println("】");}
}

四、
运行前面的代码进行测试,如下所示。

请输入第 1 个成绩:77
请输入第 2 个成绩:90
请输入第 3 个成绩:68
请输入第 4 个成绩:59
请输入第 5 个成绩:80
排序前的元素值:
77.0    90.0    68.0    59.0    80.0
通过冒泡排序方法对数组进行排序:
77.0 68.0 59.0 80.0 【90.0 】
68.0 59.0 77.0 【80.0 90.0 】
59.0 68.0 【77.0 80.0 90.0 】
59.0 【68.0 77.0 80.0 90.0 】

java数组冒泡排序相关推荐

  1. java 数组冒泡排序、转置(降序)

    1.java 数组冒泡排序 排序的基本原理(升序): 原始数据:  2 .1 .9 .0 .5 .3 .7 .6 .8: 第一次排序: 1  .2 .0 .5 .3 .7 .6 .8 .9 : 第二次 ...

  2. java数组冒泡排序法编程_java实现数组冒泡排序的方法

    java实现数组冒泡排序的方法 发布时间:2020-06-24 09:21:42 来源:亿速云 阅读:82 作者:Leah 本篇文章展示了java实现数组冒泡排序的具体操作,代码简明扼要容易理解,绝对 ...

  3. 大牛深入讲解!java数组冒泡排序从小到大

    2021全新Java核心知识 由于内容过多,本文篇幅有限,因此小编就不详细展示了,请各位老铁认真的看完本文内容,你一定会有所收获! Java篇目录内容(涵盖Java基础及核心技术.容器.并发.JVM技 ...

  4. 6.1_[Java 数组]-数组与二重循环和鸡兔同笼及冒泡排序

    ################################################## 目录 循环热身 前言 三种循环 数组循环接收数据并使用 for 循环遍历输出 利用 for 循环结 ...

  5. Java数组和冒泡排序

    Java数组 数组分一维数组.二维数组和多维数组. 以下详细讲解的是一维数组和简单的冒泡法. 需知Java中数组长度一经定义,固定不变. 一般数组初始化(声明并指定数组长度) 数组的内存模型详解 基础 ...

  6. java数组、集合和数据结构知识*

    为什么80%的码农都做不了架构师?>>>    一.数据结构知识.数据结构分为逻辑结构和物理结构,下面是百度百科的数据结构知识. 数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结 ...

  7. Java数组相关知识

    Java数组 1. 数组概述 2. 数组声明与创建 3. 数组初始化和内存分析 4. 数组的下标越界问题 5. 数组使用 6. 多维数组 7. Arrays类 8. 冒泡排序 9. 稀疏数组 1. 数 ...

  8. java 数组详解_java_day03:数组详解

    1.数组的概述和特点 1.1 数组的慨念 数组概念:数组是一种能够存放相同数据类型的有序集合. 编程的基本功: 数据结构和算法 数据结构:数组,链表,栈,队列,图,哈希表,二叉树 1.2 数组的创建 ...

  9. Java数组学习笔记(遍历、排序、多维数组、命令行参数)

    文章目录 数组的遍历和快速打印 冒泡排序和快速排序 数组和字符串排序的区别 多维数组建立和输出 命令行向main()传递参数 数组的遍历和快速打印 一.数组的遍历 数组的遍历有两种方法,一种是使用fo ...

最新文章

  1. 对如何使用WaveDrom画波形图的研究(案例分解分析)
  2. golang select关键字用法
  3. 《Ext JS 高级程序设计》的目录与样张
  4. DirectX 90 3D 外接体
  5. 【SSH网上商城项目实战20】在线支付平台的介绍
  6. boost::mpl模块实现remove_if相关的测试程序
  7. powershell /遍历/psobject/字符串转换Json/json数组操作
  8. Python03 拉格朗日插值法 牛顿插值法(附代码)
  9. python弱类型好处_JavaScript弱类型语言的优缺点有哪些
  10. linux云自动化运维基础知识4(系统结构,vim,管理输入输出,正则表达式)
  11. JakartaEE 文件的上传和下载
  12. A、B、C类地址及子网掩码学习笔记
  13. C4D怎么设置默认工程默认场景?
  14. 摩斯密码(Morse)
  15. 给大家分享一个QQ资料查询接口(等级,活跃,年龄,性别,身份卡)
  16. 帝国 cms 列表 php,常用帝国cms目录结构分享
  17. Autovue与后台的管理系统集成示例
  18. 个性化品牌开始繁荣?为设计师和代工厂牵线的平台Maker's Row获得100万美元融资 | 36氪...
  19. opporeno5k怎样关闭乐划锁屏锁屏杂志
  20. YOLOv3使用笔记

热门文章

  1. PhysX3.4文档(8) -- Advanced Collision Detection
  2. 约束规划——拉格朗日乘数法
  3. 广西师范大学计算机科学与信息工程学院官网,广西师范大学文件-广西师范大学计算机科学与信息工程学院.PDF...
  4. php站群框架,[文化传媒]TP-Admin 大型CMS站群级后台管理系统 (开源) - 行业交流 - 极思维...
  5. iCheck对于radio选定和取消选定
  6. Python 爬虫网络请求模块下——requests
  7. 不平衡分类(二)-过采样(SMOTE)【Synthetic Minority Over-Sampling Technique ,“人工少数类过采样法“】
  8. 【JLPT N1】2010年7月
  9. C语言:return 0 , return 1 和 return -1 以及 return ,break 的区别
  10. @Modifying注解