Java编程 | 冒泡排序
文章目录
- 一,冒泡排序简介
- 算法原理
- 二,程序实现
- 三,程序运行结果
一,冒泡排序简介
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
算法原理
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
二,程序实现
package Example;/*** 功能:冒泡排序* 作者:小梁aixj* 日期:2022年04月02日*/
public class Example29 {public static void main(String[] args) {int[] arr = {9, 8, 3, 5, 2};System.out.print("冒泡排序前:");printArray (arr); //打印数组元素bubbleSort (arr); //调用排序方法System.out.print("冒泡排序后:");printArray (arr); //打印数组元素}//定义打印数组元素的方法public static void printArray (int[] arr) {//循环遍历数组的元素for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " "); //打印元素和空格}System.out.print("\n");}//定义对数组排序的方法public static void bubbleSort (int[] arr) {//定义外层循环for (int i = 0; i < arr.length - 1; i++) {//定义内层循环for (int j = 0; j < arr.length - i - 1; j++) {if (arr[j] > arr[j + 1]) { //比较相邻元素//下面的三行代码用于交换两个元素int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}System.out.print("第" + (i + 1) + "轮排序后:");printArray(arr); //每轮比较结束打印数组元素}}
}
三,程序运行结果
Java编程 | 冒泡排序相关推荐
- java里冒泡排序编程案例_java编程题:用Java实现一个冒泡排序算法
/** * java编程题:用Java实现一个冒泡排序算法 */ public class Test12 { public static void main(String[] args) { int[ ...
- 交换最大数与最小数java编程_善知教育笔记之JavaSE_Java编程基础
1 Java编程基础 1.1 变量 1.1.1 变量 变量是什么?为什么为用变量? 变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据.根据所存储的数据类型的不同,有各种不同类型的变量.变量 ...
- Java实验01 Java编程基础(猜数字游戏、随机点名器)
实验一 Java编程基础 实验1-1 随机点名器 一.实验描述 1. 任务描述 编写一个随机点名的程序,使其能够在全班同学中随机点中某一名同学的名字.随机点名器具备3个功能,包括存储全班同学姓名.总览 ...
- Java编程题小练习(初级):输入10个整数并进行排序输出。
程序代码: package com.xingzhao.Test; /** 题目描述:输入10个整数,排序后输出.* * 分析:* 1.输入10个整数,存储为数组* 2.使用冒泡排序法将数组排序* 3. ...
- Java编程-福利上线2021国庆前夕大共享
国庆前夕,举国欢庆.为自学Java的同学送上福利,Java编程从入门到实战 编程事业和学业的猛速增进,再次为大家提供一套,学习Java编程的福利. 看着别人高薪就业??不如利用国庆来为自己生活做个变化 ...
- Java编程教程大全
Java编程语言 Java编程语言中,左侧的导航栏(Java编程语言),可以快速定位文章的内容.这篇文章主要汇总以下: Java编程语言学习:Java的概述,Java的接口和抽象类,Java的思想,J ...
- 除了java还学什么_学好Java编程除了努力还需要具备什么?
Java编程语言的热流席卷了全球,它的出现摆脱了C语言尾大不掉的困境,灵活.多变,塑造性强的特点不仅符合当下互联网的发展趋势,也得到一批批青年俊才的青睐,Java编程抛出的橄榄枝,也吸引了大量计算机专 ...
- 偏执却管用的 10 条 Java 编程技巧
经过一段时间的编码(咦,我已经经历了将近20年的编程生涯,快乐的日子总是过得很快),我们开始感谢那些好习惯.因为,你知道- "任何可能出错的事情,最后都会出错." 这就是人们为什么 ...
- 学习Java编程培训的书籍有哪些
学习java技术除了线上线下的培训学习,书籍的知识也是非常重要的,今天小编为大家整理的就是学习Java的一些书籍,Java书籍是程序员学习提升技能的重要学习渠道,通过书籍Java程序员可以学习当前流行 ...
最新文章
- java中字节输入流和输出流的简单使用例子
- Skype For Business 2015 综合部署系列一:Skype 环境需求及部署规划
- Eclipse新建Maven项目没有web.xml
- 构想:中文文本标注工具(内附多个开源文本标注工具)
- delphi函数,识别字符集编码
- VC实现在ListBox中选择背景位图
- RHEL/CentOS 7中安装并配置 PowerDNS 和 PowerAdmin
- java tcp链接慢_jmeter tcp长连接性能测试
- 通过人脸测试心率和呼吸率
- Vue中watch的使用
- excel mac 水晶球_水晶球软件使用crystalball.pptx
- springboot实现图片验证码登录
- 分享几个设计精美电路图的工具
- linux配置文件前面有分号,linux中的分号 ||
- css实现简单几何图形
- zh-cn、en-us、zh-tw等表示语言(文化)代码与国家地区对照表
- 汇编语言|实例1——大写字母转换成小写字母
- 新浪微博爬虫-抓取用户发布的微博
- Lesson 18 He often does this! 他经常干这种事!
- K2 BPM介绍(1)