Java冒泡排序方法
- 冒泡排序是属于最为基础的一种排序, 也是最简单的一种排序。
- 实现思路:
- 首先创建一个数组 int[] array={80,60,20,40,65,30,10};
- 思考怎么让相邻的数进行比较 (进行外内循环进行比较)
- 判断两个元素的大小,如果前面一个元素大于后面一个元素则进行交换。
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冒泡排序方法相关推荐
- 零基础全方位学习java的方法
java技术岗是一个就业率非常高的岗位,因此有很多人都想要学习java技术,其中不乏一些零基础同学,零基础小白都不清楚自己该如何学习java,那么下面小编就为大家详细的介绍一下零基础全方位学习java ...
- 1.15 Java冒泡排序法
冒泡排序(Bubble Sort)是常用的数组排序算法之一,它以简洁的思想与实现方法而备受青睐,也是广大学习者最先接触的一种排序算法. 冒泡排序的基本思想是:对比相邻的元素值,如果满足条件就交换元素值 ...
- java 冒泡排序_Java冒泡排序详解
Java冒泡排序 排序算法概述 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法.排序算法在很多领域得到相当地重视, ...
- c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习
材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...
- java 调用方法 数组_JAVA方法与数组
一.JAVA的方法: 1.定义:a.java方法是语句的集合,它们在一起执行一个功能. b.方法是解决一类问题的步骤的有序组合. c.方法包含于类或对象中. d.方法在程序中被创建,在其他地方被引用. ...
- JAVA冒泡排序算法(含详细过程代码讲解及优化)
冒泡排序算法拆分讲解及优化 java冒泡排序 一.代码的拆分讲解 从上面步骤,可以观察到每次的j都相对于前一趟进行-1操作,所以可以把这些操作套在一个for循环里来控制j即可. 二.冒泡排序的代码 优 ...
- java冒泡排序内外循环_java中的冒泡排序、for循环的嵌套使用以及接口与抽象类的区别。...
一.java冒泡排序. java中的冒泡排序为一种简单的交换排序方法.其基本思路是从头开始扫描需要排序的元素,在扫描的过程中依次的对相邻的元素进行比较,将关键字值大的元素后移,每经过一趟排序后,关键值 ...
- 几种任务调度的 Java 实现方法与比较
综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺 ...
- 2021-02-23关于java的方法区,为什么叫方法区,是否与实际用途相悖?
关于java的方法区,为什么叫方法区,是否与实际用途相悖? 在java中,栈中存放的是用来保存方法运行时状态的栈帧,存储了局部变量表,操作数栈等,而方法区存放的是已加载的类的基本信息.常量.静态变量等 ...
最新文章
- 百度最近开源了分布式配置中心,名叫BRCC
- matlab messagebox函数,[MATLAB]在C#中引用MATLAB函数
- Linux for windows
- uva 11995 I Can Guess the Data Structure!
- python主循环方法mainloop_python gobject.mainloop吞噬信号事件
- 机器人与目标匹配问题及解决 虚拟动力学 纳什平衡 Q-Learning
- socket 收不到16进制 数据_UDP编程-套接字(socket)
- 如何应用大数据分析平台
- linux防火墙常用相关操作
- wordpress限制最大上传文件为3M
- 将EBS设为首页worklist删除误报
- VS2010 SP1 编译QT4.8.0 x64版本
- 带经纬度的水印相机_水印今日相机安卓版下载-水印相机拍照时间地点app下载v2.8.8.14-西西软件下载...
- Maxwell 16.0 (64-bit) 软件卸载_Win7系统
- 2018年下半年网络工程师考试试题分析(4)
- 再爆hzhost6.5虚拟主机管理系统的SQL注入漏洞3
- freemarker导出excel
- 图解强化学习 原理 超详解 (一)
- ros2上怎样才能玩rmf?
- SaaS、PaaS、IaaS、DaaS、BaaS 都是什么
热门文章
- Python数组排序并返回索引
- Nginx自动化部署Let‘s Encrypt证书并续期
- Tracealyzer视觉提示诊断Crack,程序设计及量化
- mysql useradd_useradd 创建用户
- 翻译成这样好意思吗?抄送搜狗同传
- 医药采购之供货商药品目录添加查询
- vae 实现_使用tensorflow 2和tensorflow概率实现vae的6种不同方式
- “设计”拍了拍“产品、技术、运营、管理”:求你看看《用户体验要素》
- java sm_Java国密SM2/SM3/SM4及证书
- java SE(一)——入门基础