java 冒泡_Java中的冒泡排序
冒泡排序法是一种简单的排序算法,它重复地走访过要排序的数组,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数组的工作是重复地进行直到没有再需要交换,也就是说该数组已经排序完成。
一、冒泡排序的原理:
1、排序时,先通过元素进行比较找出最大数,如果是升序就放在最后,降序就放在首位。
2、多少个数进行排序,外层for循环就循环多少次。
3、内层for循环表示比较的次数。例如:有6个数排序:2,5,6,7,8,4。
(1)找出6个数中最大的数,我们就需要比较5次 //6-1
(2)找出6个数中第二打的数,我们就需要比较4次。//6-2
......直到最后我们找到最小的数,这时比较的次数就是排序数的个数-找第几大的数。
二、冒泡排序的语法
升序:
int[] a={9,8,7,5,4,6,2,3,1};
for (int i = 1; i < a.length; i++) { //外层for循环,表示循环9次
for (int j = 1; j <=a.length-i; j++) { //内层for循环,表示找第几个数所需要比较的次数,如找第一个数需要比较5次,找第二个数需要4次......
if(a[j-1]>a[j]){ //两个元素进行判断,实现两个数调换位置。
int tmp=a[j-1]; //定义tmp用于临时存放两元素中最大的那个。
a[j-1]=a[j]; //a数组中前面的数赋值小的那个。
a[j]=tmp; //a数组中后面的数赋值tmp的值,实现升序排列。
}
}
}
降序:
int[] b={9,8,7,5,4,6,2,3,1};
for (int i = 1; i < a.length; i++) {
for (int j = 1; j < a.length-i; j++) {
if(b[j-1]
int tmp=b[j-1]; //定义一个tmp变量存放较小的值
b[j-1]=b[j]; //把较大的值赋给前面的元素
b[j]=tmp; //把tmp中的值赋给后面的元素,实现降序排列。
}
}
}
java 冒泡_Java中的冒泡排序相关推荐
- java排序链表冒泡排序_Java中的冒泡排序
java排序链表冒泡排序 Java Sorting is one of the many aspects of java interview questions. In this post, we w ...
- java冒泡排序内外循环_java中的冒泡排序、for循环的嵌套使用以及接口与抽象类的区别。...
一.java冒泡排序. java中的冒泡排序为一种简单的交换排序方法.其基本思路是从头开始扫描需要排序的元素,在扫描的过程中依次的对相邻的元素进行比较,将关键字值大的元素后移,每经过一趟排序后,关键值 ...
- java 事务_Java中事务总结详解(精华)
1.什么是JAVA事务? 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性 (is ...
- [转载] c++多态与java多态性_Java中的多态性
参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...
- java 且_JAVA中逻辑运算符“|”和“”与“||”和“”的用法
1.使用规则: (1)& 可以用作逻辑与的运算符,表示逻辑与(and) a.当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false ...
- java 包装类_Java中的包装类
Java中哪些需要包装类 它们将原始数据类型转换为对象.如果我们希望修改传递给方法的参数,则需要对象(因为基元类型是按值传递的). java.util包中的类只处理对象,因此在这种情况下包装类也有帮助 ...
- java 难度_java中难度大一点的面试题
1.请大概描述一下Vector和ArrayList的区别,Hashtable和HashMap的区别.(5) (1)Vector和ArrayList的异同 实现原理,功能相同,可以互用 主要区别: Ve ...
- math java 计算_Java中的数学计算函数汇总
Math类: java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(B ...
- java中的多态性_[转载] c++多态与java多态性_Java中的多态性
参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...
- c++多态与java多态性_Java中的多态性
c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meaning of polymorphism ...
最新文章
- 新闻行业中,自然语言理解技术该如何应用?
- AI芯片,看好云端还是边缘?
- 阿里2022“研究型实习生”计划公布,开放200多个科研选题
- SpringBoot中在普通类里面加载Spring容器中的类
- 【POJ - 1001 】Exponentiation (Java大数,高精度)
- Diango博客--18.使用 Fabric 自动化部署 Django 项目
- 记一次mysql进程无法启动的解决方案
- ios加载本地html懒加载图片方案,IOS开发中加载大量网络图片优化方法
- python 收发邮件_Python 【收发邮件】
- cmake 指定平台编译arm64_Arm V7 V8处理器编译Target小提示
- ubuntu下Qt cannot find -lGL错误的解决方法
- 利用Xposed+JustTrustMe绕过Android App(途牛apk)的SSL Pinning
- 电脑调节,电脑调节亮度怎么调
- python代码手机壁纸_python 爬取王者荣耀高清壁纸
- 【AI科幻】地球陨落·平行世界
- 竑观资产合伙人孙霄汉:区块链经济三个系统的X关系
- 使用set集合去除重复元素
- 第一次亲密接触——二狗子初识 CDN
- 【S0021】【素材】创意几何海报、h5背景
- 【布局优化】基于布谷鸟算法实现无线传感器网(WSN)覆盖优化 Matlab源码
热门文章
- Docker 详细文档
- 一款实用工具:免费短信验证码SDK
- 12日,7月,2012年 - GAE调试,Wordpress,晚睡晚起
- 如何区分电梯卡为id卡ic卡_如何分辨IC卡和ID卡
- eda交通灯控制器波形输入_EDA实验报告实验四:交通灯控制器设计
- autocad.net 画多段线_AutoCAD2016快速入门:绘制多段线
- JGROUPS JGRP000029问题
- 语音合成芯片——SYN6658
- React组件化开发
- php判断手机号码归属地,手机号码归属查询大全所在位置(PHP通过API获取手机号码归属地)...