Java语言实现冒泡排序
1、 如上图所示,冒泡排序还就是两个相邻的数字进行比较,把较大的那个数字往前排,第一次比较完之后就会确定一个最大的数字;
2、重复上述操作,但接下来的每一次比较都会减少一个数字,所以比较的次数也就会减少一次;
3、当只剩下两个数字的时候,只需要进行一次比较就可以了,所以比较的总次数是数字总数减去一次。
代码:
public class Main {public static void main(String[] args) {//定义一个int类型的数组 我们将对这个数组进行冒泡排序int[] arr = {2,5,1,3,4,8,6,7};//调用对数组进行排序的方法bubbleSort(arr);}private static void bubbleSort(int[] arr){//外层的循环表示比较的次数,如果有n个数字,就需要比较n-1次for (int i = 0; i < arr.length - 1; i++) {//对数组进行遍历,相邻的两个数字进行比较,每次比较之后数字总数就会减一防止索引越界,让长度减一for (int j = 0; j < arr.length - 1 - i; j++) {//判断每两个相邻的数字,大的往前排if (arr[j] >= arr[j + 1]){int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}//打印数字printArr(arr);}private static void printArr(int[] arr) {for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}}
}
Java语言实现冒泡排序相关推荐
- 用java语言写冒泡排序
//冒泡排序: 参与比较的数据:23,78,12,56,11,73,90(7个数字) 第一次循环(6次):(把最大的数字移到最右端) 23,78,12,56,11,73,90 //23与78需要比较一 ...
- java面试:冒泡排序详解 (Java经典编程案例)
java语言实现冒泡排序: package mytest;public class MyTest {public static void main(String[] args) {int[] a={8 ...
- Java语言基础(常见对象3(数组排序(冒泡排序、选择排序、直接插入排序、快速排序、归并排序)、Arrays、基本数据类型包装类、Integer类、自动拆箱、自动装箱))
Java语言基础 常见对象 数组排序 冒泡排序 相邻元素两两比较,大的往后放,第一次完毕,最大值的元素就会出现在最大索引处:以此循环 //冒泡排序:public static void main(St ...
- Java基础语法 第2节 Java语言基本语法
一.标识符和关键字 1.标识符 1)java中标识符用来为程序的白能量.常量.方法.类.接口和包名命名,标识符由字母.数字.下划线.美元符号组成,且第一个字符不能是数字: 2)标志符命名规则:见名知意 ...
- 2006年4月全国计算机等级考试二级Java语言程序设计
(考试时间90分钟,满分100分) 一.选择题((1)~(35)每小题2分,共70分) 下列各题A).B).C).D)四个选项中,只有一个选项是正确的,请将正确选项写在答题卡相应位置上,答在试 ...
- 主流语言实现冒泡排序算法
什么是冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小.首字母从Z到A)错误就把他们交 ...
- java语言实现常用算法(排序和查找)
以下是java语言实现的常用算法. 1.冒泡排序 /** 冒泡排序* * 有1至N个数* 第一轮比较N个数,第二轮比较N-1个数,...* 每一轮根据前面一个数和后面一个数比较,如果前者大于后者,交换 ...
- java语言定义一个具备栈功能的类_Java学习笔记 第二章 Java语言基础
第二章 JAVA语言基础 一.关键字 1.关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有的字母都为小写 2.用于定义数据类型的关键字 c;ass interface ...
- 使用C语言和Java分别实现冒泡排序和选择排序
经典排序算法--冒泡和选择排序法 Java实现冒泡排序 基本思想是,对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素放到顶端,最终达到完全有序,首先看个动图: 我们要清楚 ...
- 运动会分数统计 java语言
运动会分数统计java语言 运动会分数统计* 设计内容: 参加运动会有n个学校,学校编号为1--n.比赛分成m个男子项目,和w个女子项目.项目编号为男子1--m,女子m叶+1--m+w.不同的项目取前 ...
最新文章
- 测试MM32F3277-MicroPython 2021-11-17 版本
- 手把手教你使用 1D 卷积和 LSTM 混合模型做 EEG 信号识别
- MFC略缩图控件实现
- html5语义化 兼容,HTML5语义化标签,兼容性问题
- [python]删除列表中相同的元素
- Python02期(北京)课程笔记索引
- 好的软件人员必看的书
- python正则表达式怎么表示零个或多个字符_VBA中正则表达式之分组
- php判断日期文章变红,DeDecms如何实现当天发表的文章日期以红色显示
- android nfc 跳转,android – 通过NFC发送URL,由浏览器打开
- 使用Geolocation校正GDAL不支持的数据
- C语言:判断m是否为素数
- 《初级会计电算化应用教程(金蝶KIS专业版)》——1.5 习题
- html模板导出pdf文件
- 西门子低代码项目团队协作方法
- 烈日炎炎,向亲爱的爸爸说声辛苦了
- go语言循环基础练习
- 项目经理做什么工作的,每个公司不一样吗?
- python画脑电信号
- html 块元素 css,HTML和CSS - 内嵌块元素的问题
热门文章
- resin设置权限_Resin学习笔记
- pointnet源码阅读:测试
- mysql 源码阅读_mysql 源码阅读入口
- 图像识别(五)| 春天花开却不识?打开百度识图,残差和卷积带你识遍路边野花
- 按键精灵调用python文件_Python按键精灵自动化
- C++ google code style.
- 基于图像识别的波形发生器
- 安装pdfFactory Pro
- Msm8960(APQ8064)平台的MSM-AOSP-kitkat编译适配(6):音频
- 多少 80 后因为一台文曲星而走上了程序员之路