• 冒泡排序是属于最为基础的一种排序, 也是最简单的一种排序。
  • 实现思路:
  1. 首先创建一个数组  int[] array={80,60,20,40,65,30,10};
  2. 思考怎么让相邻的数进行比较 (进行外内循环进行比较)
  3. 判断两个元素的大小,如果前面一个元素大于后面一个元素则进行交换。
public class Bubble {public static void main(String[] args) {int[] array={80,60,20,40,65,30,10};for(int i=0;i<array.length;i++){for(int j=0;j<array.length-i-1;j++){//外层循环if(array[j+1]>array[j]){//内层循环//如果条件满足,则进行交换,int temp=array[j+1];array[j+1]=array[j];array[j]=temp;}}} System.out.println("冒泡排序后:");for(int i:array){System.out.print(i+" ");}}}

1.原始数组进行排列:

80,60,20,40,65,30,10

2.第一次排列比较,拿60和80比较:

60,80,20,40,65,30,10

3.第2次排列,拿80和20比较:

60,20,80,40,65,30,10

4.第3次排列,拿80和40比较:

60,20,40,80,65,30,10

5.第4次排列,拿80和65比较:

60,20,40,65,80,30,10

6.第5次排列,拿80和30比较

60,20,40,65,30,80,10

7.第6次排列,拿80和10进行比较

60,20,40,65,30,10,80

从以上的比较排序可以得知,进行了6次排列,第一个数和其他数比较完成,发现比较6次才进行完成,因此可以得出外循环次数应该为数组长度-1,即(int i=0;i<array.length;i++);然后内循环控制比较两个数进行比较的次数,可以发现80和其他数比较了5次,每次数比较都比排列次数少1次,因此可以得出,即(int j=0;j<array.length-i-1;j++)

Java冒泡排序方法相关推荐

  1. 零基础全方位学习java的方法

    java技术岗是一个就业率非常高的岗位,因此有很多人都想要学习java技术,其中不乏一些零基础同学,零基础小白都不清楚自己该如何学习java,那么下面小编就为大家详细的介绍一下零基础全方位学习java ...

  2. 1.15 Java冒泡排序法

    冒泡排序(Bubble Sort)是常用的数组排序算法之一,它以简洁的思想与实现方法而备受青睐,也是广大学习者最先接触的一种排序算法. 冒泡排序的基本思想是:对比相邻的元素值,如果满足条件就交换元素值 ...

  3. java 冒泡排序_Java冒泡排序详解

    Java冒泡排序 排序算法概述 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法.排序算法在很多领域得到相当地重视, ...

  4. c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习

    材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...

  5. java 调用方法 数组_JAVA方法与数组

    一.JAVA的方法: 1.定义:a.java方法是语句的集合,它们在一起执行一个功能. b.方法是解决一类问题的步骤的有序组合. c.方法包含于类或对象中. d.方法在程序中被创建,在其他地方被引用. ...

  6. JAVA冒泡排序算法(含详细过程代码讲解及优化)

    冒泡排序算法拆分讲解及优化 java冒泡排序 一.代码的拆分讲解 从上面步骤,可以观察到每次的j都相对于前一趟进行-1操作,所以可以把这些操作套在一个for循环里来控制j即可. 二.冒泡排序的代码 优 ...

  7. java冒泡排序内外循环_java中的冒泡排序、for循环的嵌套使用以及接口与抽象类的区别。...

    一.java冒泡排序. java中的冒泡排序为一种简单的交换排序方法.其基本思路是从头开始扫描需要排序的元素,在扫描的过程中依次的对相邻的元素进行比较,将关键字值大的元素后移,每经过一趟排序后,关键值 ...

  8. 几种任务调度的 Java 实现方法与比较

    综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺 ...

  9. 2021-02-23关于java的方法区,为什么叫方法区,是否与实际用途相悖?

    关于java的方法区,为什么叫方法区,是否与实际用途相悖? 在java中,栈中存放的是用来保存方法运行时状态的栈帧,存储了局部变量表,操作数栈等,而方法区存放的是已加载的类的基本信息.常量.静态变量等 ...

最新文章

  1. 百度最近开源了分布式配置中心,名叫BRCC
  2. matlab messagebox函数,[MATLAB]在C#中引用MATLAB函数
  3. Linux for windows
  4. uva 11995 I Can Guess the Data Structure!
  5. python主循环方法mainloop_python gobject.mainloop吞噬信号事件
  6. 机器人与目标匹配问题及解决 虚拟动力学 纳什平衡 Q-Learning
  7. socket 收不到16进制 数据_UDP编程-套接字(socket)
  8. 如何应用大数据分析平台
  9. linux防火墙常用相关操作
  10. wordpress限制最大上传文件为3M
  11. 将EBS设为首页worklist删除误报
  12. VS2010 SP1 编译QT4.8.0 x64版本
  13. 带经纬度的水印相机_水印今日相机安卓版下载-水印相机拍照时间地点app下载v2.8.8.14-西西软件下载...
  14. Maxwell 16.0 (64-bit) 软件卸载_Win7系统
  15. 2018年下半年网络工程师考试试题分析(4)
  16. 再爆hzhost6.5虚拟主机管理系统的SQL注入漏洞3
  17. freemarker导出excel
  18. 图解强化学习 原理 超详解 (一)
  19. ros2上怎样才能玩rmf?
  20. SaaS、PaaS、IaaS、DaaS、BaaS 都是什么

热门文章

  1. Python数组排序并返回索引
  2. Nginx自动化部署Let‘s Encrypt证书并续期
  3. Tracealyzer视觉提示诊断Crack,程序设计及量化
  4. mysql useradd_useradd 创建用户
  5. 翻译成这样好意思吗?抄送搜狗同传
  6. 医药采购之供货商药品目录添加查询
  7. vae 实现_使用tensorflow 2和tensorflow概率实现vae的6种不同方式
  8. “设计”拍了拍“产品、技术、运营、管理”:求你看看《用户体验要素》
  9. java sm_Java国密SM2/SM3/SM4及证书
  10. java SE(一)——入门基础