java数组冒泡排序
冒泡排序(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数组冒泡排序相关推荐
- java 数组冒泡排序、转置(降序)
1.java 数组冒泡排序 排序的基本原理(升序): 原始数据: 2 .1 .9 .0 .5 .3 .7 .6 .8: 第一次排序: 1 .2 .0 .5 .3 .7 .6 .8 .9 : 第二次 ...
- java数组冒泡排序法编程_java实现数组冒泡排序的方法
java实现数组冒泡排序的方法 发布时间:2020-06-24 09:21:42 来源:亿速云 阅读:82 作者:Leah 本篇文章展示了java实现数组冒泡排序的具体操作,代码简明扼要容易理解,绝对 ...
- 大牛深入讲解!java数组冒泡排序从小到大
2021全新Java核心知识 由于内容过多,本文篇幅有限,因此小编就不详细展示了,请各位老铁认真的看完本文内容,你一定会有所收获! Java篇目录内容(涵盖Java基础及核心技术.容器.并发.JVM技 ...
- 6.1_[Java 数组]-数组与二重循环和鸡兔同笼及冒泡排序
################################################## 目录 循环热身 前言 三种循环 数组循环接收数据并使用 for 循环遍历输出 利用 for 循环结 ...
- Java数组和冒泡排序
Java数组 数组分一维数组.二维数组和多维数组. 以下详细讲解的是一维数组和简单的冒泡法. 需知Java中数组长度一经定义,固定不变. 一般数组初始化(声明并指定数组长度) 数组的内存模型详解 基础 ...
- java数组、集合和数据结构知识*
为什么80%的码农都做不了架构师?>>> 一.数据结构知识.数据结构分为逻辑结构和物理结构,下面是百度百科的数据结构知识. 数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结 ...
- Java数组相关知识
Java数组 1. 数组概述 2. 数组声明与创建 3. 数组初始化和内存分析 4. 数组的下标越界问题 5. 数组使用 6. 多维数组 7. Arrays类 8. 冒泡排序 9. 稀疏数组 1. 数 ...
- java 数组详解_java_day03:数组详解
1.数组的概述和特点 1.1 数组的慨念 数组概念:数组是一种能够存放相同数据类型的有序集合. 编程的基本功: 数据结构和算法 数据结构:数组,链表,栈,队列,图,哈希表,二叉树 1.2 数组的创建 ...
- Java数组学习笔记(遍历、排序、多维数组、命令行参数)
文章目录 数组的遍历和快速打印 冒泡排序和快速排序 数组和字符串排序的区别 多维数组建立和输出 命令行向main()传递参数 数组的遍历和快速打印 一.数组的遍历 数组的遍历有两种方法,一种是使用fo ...
最新文章
- 对如何使用WaveDrom画波形图的研究(案例分解分析)
- golang select关键字用法
- 《Ext JS 高级程序设计》的目录与样张
- DirectX 90 3D 外接体
- 【SSH网上商城项目实战20】在线支付平台的介绍
- boost::mpl模块实现remove_if相关的测试程序
- powershell /遍历/psobject/字符串转换Json/json数组操作
- Python03 拉格朗日插值法 牛顿插值法(附代码)
- python弱类型好处_JavaScript弱类型语言的优缺点有哪些
- linux云自动化运维基础知识4(系统结构,vim,管理输入输出,正则表达式)
- JakartaEE 文件的上传和下载
- A、B、C类地址及子网掩码学习笔记
- C4D怎么设置默认工程默认场景?
- 摩斯密码(Morse)
- 给大家分享一个QQ资料查询接口(等级,活跃,年龄,性别,身份卡)
- 帝国 cms 列表 php,常用帝国cms目录结构分享
- Autovue与后台的管理系统集成示例
- 个性化品牌开始繁荣?为设计师和代工厂牵线的平台Maker's Row获得100万美元融资 | 36氪...
- opporeno5k怎样关闭乐划锁屏锁屏杂志
- YOLOv3使用笔记
热门文章
- PhysX3.4文档(8) -- Advanced Collision Detection
- 约束规划——拉格朗日乘数法
- 广西师范大学计算机科学与信息工程学院官网,广西师范大学文件-广西师范大学计算机科学与信息工程学院.PDF...
- php站群框架,[文化传媒]TP-Admin 大型CMS站群级后台管理系统 (开源) - 行业交流 - 极思维...
- iCheck对于radio选定和取消选定
- Python 爬虫网络请求模块下——requests
- 不平衡分类(二)-过采样(SMOTE)【Synthetic Minority Over-Sampling Technique ,“人工少数类过采样法“】
- 【JLPT N1】2010年7月
- C语言:return 0 , return 1 和 return -1 以及 return ,break 的区别
- @Modifying注解