当前位置: 首页 > news >正文

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中的值赋给后面的元素,实现降序排列。

}

}

}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Oracle函数集锦
  • java empty string_Java java.lang.NumberFormatException: empty String
  • 实例剖析:网络环路轻视不得(组图)
  • java nn方格 绕过障碍物_【Java数据结构马踏棋盘问题】将马随机放在国际象棋的8×8棋盘Board[8][8]的某个方格中...
  • java文件编译成jar包_多个java文件编译并打成jar包经典方法
  • 磁盘碎片整理原理
  • 如何清除保存在 Windows Mobile 上的 Outlook Web Access 访问密码
  • consul java_第二十章 springboot + consul(1)
  • 在WINCE上实现UDP通信(100%可行!)
  • java中有地址吗_java web开发中各类地址的写法
  • Steve Lasker 在 Tech Ed Barcelona 2007 上的 SQL Server Compact 课程
  • java实现插入排序_数据结构与算法—插入排序(Java实现)
  • 解决RichEdit line insertion error的方法
  • 与普元李健民的串吧聚会
  • 北京 Java软件工程师薪资_【北京京东工资】java高级软件工程师待遇-看准网
  • SegmentFault for Android 3.0 发布
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • js对象的深浅拷贝
  • Lucene解析 - 基本概念
  • Meteor的表单提交:Form
  • mysql常用命令汇总
  • PHP 的 SAPI 是个什么东西
  • PHP那些事儿
  • Spring核心 Bean的高级装配
  • uni-app项目数字滚动
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 跨域
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端技术周刊 2019-02-11 Serverless
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 温故知新之javascript面向对象
  • 我这样减少了26.5M Java内存!
  • 小试R空间处理新库sf
  • 写代码的正确姿势
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # Redis 入门到精通(一)数据类型(4)
  • # wps必须要登录激活才能使用吗?
  • # 利刃出鞘_Tomcat 核心原理解析(七)
  • #pragma once
  • #vue3 实现前端下载excel文件模板功能
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #前后端分离# 头条发布系统
  • #预处理和函数的对比以及条件编译
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (~_~)
  • (1)(1.9) MSP (version 4.2)
  • (2)nginx 安装、启停
  • (javaweb)Http协议
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (二)WCF的Binding模型
  • (二)丶RabbitMQ的六大核心