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语言实现冒泡排序相关推荐

  1. 用java语言写冒泡排序

    //冒泡排序: 参与比较的数据:23,78,12,56,11,73,90(7个数字) 第一次循环(6次):(把最大的数字移到最右端) 23,78,12,56,11,73,90 //23与78需要比较一 ...

  2. java面试:冒泡排序详解 (Java经典编程案例)

    java语言实现冒泡排序: package mytest;public class MyTest {public static void main(String[] args) {int[] a={8 ...

  3. Java语言基础(常见对象3(数组排序(冒泡排序、选择排序、直接插入排序、快速排序、归并排序)、Arrays、基本数据类型包装类、Integer类、自动拆箱、自动装箱))

    Java语言基础 常见对象 数组排序 冒泡排序 相邻元素两两比较,大的往后放,第一次完毕,最大值的元素就会出现在最大索引处:以此循环 //冒泡排序:public static void main(St ...

  4. Java基础语法 第2节 Java语言基本语法

    一.标识符和关键字 1.标识符 1)java中标识符用来为程序的白能量.常量.方法.类.接口和包名命名,标识符由字母.数字.下划线.美元符号组成,且第一个字符不能是数字: 2)标志符命名规则:见名知意 ...

  5. 2006年4月全国计算机等级考试二级Java语言程序设计

    (考试时间90分钟,满分100分) 一.选择题((1)~(35)每小题2分,共70分)     下列各题A).B).C).D)四个选项中,只有一个选项是正确的,请将正确选项写在答题卡相应位置上,答在试 ...

  6. 主流语言实现冒泡排序算法

    什么是冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小.首字母从Z到A)错误就把他们交 ...

  7. java语言实现常用算法(排序和查找)

    以下是java语言实现的常用算法. 1.冒泡排序 /** 冒泡排序* * 有1至N个数* 第一轮比较N个数,第二轮比较N-1个数,...* 每一轮根据前面一个数和后面一个数比较,如果前者大于后者,交换 ...

  8. java语言定义一个具备栈功能的类_Java学习笔记 第二章 Java语言基础

    第二章 JAVA语言基础 一.关键字 1.关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有的字母都为小写 2.用于定义数据类型的关键字 c;ass  interface ...

  9. 使用C语言和Java分别实现冒泡排序和选择排序

    经典排序算法--冒泡和选择排序法 Java实现冒泡排序 基本思想是,对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素放到顶端,最终达到完全有序,首先看个动图: 我们要清楚 ...

  10. 运动会分数统计 java语言

    运动会分数统计java语言 运动会分数统计* 设计内容: 参加运动会有n个学校,学校编号为1--n.比赛分成m个男子项目,和w个女子项目.项目编号为男子1--m,女子m叶+1--m+w.不同的项目取前 ...

最新文章

  1. 测试MM32F3277-MicroPython 2021-11-17 版本
  2. 手把手教你使用 1D 卷积和 LSTM 混合模型做 EEG 信号识别
  3. MFC略缩图控件实现
  4. html5语义化 兼容,HTML5语义化标签,兼容性问题
  5. [python]删除列表中相同的元素
  6. Python02期(北京)课程笔记索引
  7. 好的软件人员必看的书
  8. python正则表达式怎么表示零个或多个字符_VBA中正则表达式之分组
  9. php判断日期文章变红,DeDecms如何实现当天发表的文章日期以红色显示
  10. android nfc 跳转,android – 通过NFC发送URL,由浏览器打开
  11. 使用Geolocation校正GDAL不支持的数据
  12. C语言:判断m是否为素数
  13. 《初级会计电算化应用教程(金蝶KIS专业版)》——1.5 习题
  14. html模板导出pdf文件
  15. 西门子低代码项目团队协作方法
  16. 烈日炎炎,向亲爱的爸爸说声辛苦了
  17. go语言循环基础练习
  18. 项目经理做什么工作的,每个公司不一样吗?
  19. python画脑电信号
  20. html 块元素 css,HTML和CSS - 内嵌块元素的问题

热门文章

  1. resin设置权限_Resin学习笔记
  2. pointnet源码阅读:测试
  3. mysql 源码阅读_mysql 源码阅读入口
  4. 图像识别(五)| 春天花开却不识?打开百度识图,残差和卷积带你识遍路边野花
  5. 按键精灵调用python文件_Python按键精灵自动化
  6. C++ google code style.
  7. 基于图像识别的波形发生器
  8. 安装pdfFactory Pro
  9. Msm8960(APQ8064)平台的MSM-AOSP-kitkat编译适配(6):音频
  10. 多少 80 后因为一台文曲星而走上了程序员之路