冒泡排序法是一种简单的排序算法,它重复地走访过要排序的数组,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数组的工作是重复地进行直到没有再需要交换,也就是说该数组已经排序完成。

一、冒泡排序的原理:

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中的冒泡排序相关推荐

  1. java排序链表冒泡排序_Java中的冒泡排序

    java排序链表冒泡排序 Java Sorting is one of the many aspects of java interview questions. In this post, we w ...

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

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

  3. java 事务_Java中事务总结详解(精华)

    1.什么是JAVA事务? 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性 (is ...

  4. [转载] c++多态与java多态性_Java中的多态性

    参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...

  5. java 且_JAVA中逻辑运算符“|”和“”与“||”和“”的用法

    1.使用规则: (1)& 可以用作逻辑与的运算符,表示逻辑与(and) a.当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false ...

  6. java 包装类_Java中的包装类

    Java中哪些需要包装类 它们将原始数据类型转换为对象.如果我们希望修改传递给方法的参数,则需要对象(因为基元类型是按值传递的). java.util包中的类只处理对象,因此在这种情况下包装类也有帮助 ...

  7. java 难度_java中难度大一点的面试题

    1.请大概描述一下Vector和ArrayList的区别,Hashtable和HashMap的区别.(5) (1)Vector和ArrayList的异同 实现原理,功能相同,可以互用 主要区别: Ve ...

  8. math java 计算_Java中的数学计算函数汇总

    Math类:  java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(B ...

  9. java中的多态性_[转载] c++多态与java多态性_Java中的多态性

    参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...

  10. c++多态与java多态性_Java中的多态性

    c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meaning of polymorphism ...

最新文章

  1. 新闻行业中,自然语言理解技术该如何应用?
  2. AI芯片,看好云端还是边缘?
  3. 阿里2022“研究型实习生”计划公布,开放200多个科研选题
  4. SpringBoot中在普通类里面加载Spring容器中的类
  5. 【POJ - 1001 】Exponentiation (Java大数,高精度)
  6. Diango博客--18.使用 Fabric 自动化部署 Django 项目
  7. 记一次mysql进程无法启动的解决方案
  8. ios加载本地html懒加载图片方案,IOS开发中加载大量网络图片优化方法
  9. python 收发邮件_Python 【收发邮件】
  10. cmake 指定平台编译arm64_Arm V7 V8处理器编译Target小提示
  11. ubuntu下Qt cannot find -lGL错误的解决方法
  12. 利用Xposed+JustTrustMe绕过Android App(途牛apk)的SSL Pinning
  13. 电脑调节,电脑调节亮度怎么调
  14. python代码手机壁纸_python 爬取王者荣耀高清壁纸
  15. 【AI科幻】地球陨落·平行世界
  16. 竑观资产合伙人孙霄汉:区块链经济三个系统的X关系
  17. 使用set集合去除重复元素
  18. 第一次亲密接触——二狗子初识 CDN
  19. 【S0021】【素材】创意几何海报、h5背景
  20. 【布局优化】基于布谷鸟算法实现无线传感器网(WSN)覆盖优化 Matlab源码

热门文章

  1. Docker 详细文档
  2. 一款实用工具:免费短信验证码SDK
  3. 12日,7月,2012年 - GAE调试,Wordpress,晚睡晚起
  4. 如何区分电梯卡为id卡ic卡_如何分辨IC卡和ID卡
  5. eda交通灯控制器波形输入_EDA实验报告实验四:交通灯控制器设计
  6. autocad.net 画多段线_AutoCAD2016快速入门:绘制多段线
  7. JGROUPS JGRP000029问题
  8. 语音合成芯片——SYN6658
  9. React组件化开发
  10. php判断手机号码归属地,手机号码归属查询大全所在位置(PHP通过API获取手机号码归属地)...