3-4Java数组----数组中涉及到的常见算法(6)--冒泡排序
冒泡排序
一、介绍
冒泡排序的原理非常简单,它重复的走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
二、排序思想:
1.比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。
2.堆每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
3.针对所有元素重复以上的步骤,除了最后一个。
4.持续每次堆越来越少的元素重复上面的步骤,直到没有任何一堆数字需要比较为止。代码:
public class BubbleSort {public static void main(String[] args) {int[] arr = new int[] { 43, 88, 52, -22, 31, -95, -562, 888, 520, 1314, 52, 31, 66, -3 };// 打印arrfor (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "\t");}// 冒泡排序for (int i = 0; i < arr.length - 1; i++) {for (int j = 0; j < arr.length - 1 - i; j++) {if(arr[j]>arr[j+1]) {int temp = arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}System.out.println();//打印arrfor (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "\t");}}
}
输出:
43 88 52 -22 31 -95 -562 888 520 1314 52 31 66 -3
-562 -95 -22 -3 31 31 43 52 52 66 88 520 888 1314
3-4Java数组----数组中涉及到的常见算法(6)--冒泡排序相关推荐
- 多维数组和C#中的数组数组有什么区别?
C#中的多维数组double[,]和数组数组double[][]什么区别? 如果存在差异,那么每个最好的用途是什么? #1楼 前言:此评论旨在解决okutane提供的答案 ,但是由于SO的愚蠢信誉系统 ...
- java声明和初始化数组_Java 中初始化数组
数组是一种有用的数据类型,用于管理在连续内存位置中建模最好的集合元素.下面是如何有效地使用它们. -- Chris Hermansen(作者) 有使用 C 或者 FORTRAN 语言编程经验的人会对数 ...
- [JS]请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组. 刚开始复习js题还不太习惯 CSDN上看了一个帖子,说是牛客上的标答, ...
- c语言将水仙花数放入一维数组a中,全国计算机等级考试C语言考试程序设计题(13)...
在考生目录下,要求程序PROG.C的功能是:将所有的水仙花数保存到一维数组a中. (所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身. 例如:153=1*1*1+5*5*5+3*3*3) #i ...
- 工具类:关于如何找到两个List数组中不同的数据的算法!
找到两个List数组中不同的数据的算法! import java.util.ArrayList; import java.util.HashMap; import java.util.List; im ...
- java求数组中满足给定和的数对,【加试题】数组a中有50个互异的整数,已按升序排列。给定一个正整数key,寻找数组a中是否有一对数的和等于给定的数key,算法如下:...
(1) 实现上述功能的VB程序如下,请在画线处填入合适代码. Dim a(1 To 50)As Integer Const n As Integer=50 Private sub form_load( ...
- javascript 数组对象中的迭代方法
/* javascript 数组对象中的迭代方法 * ECMAScript5为数组定义了5个迭代方法.每个方法都接受两个参数,第一个是进行迭代的函数,第二个是该函数的作用域对象[可选]. * 进行迭代 ...
- java语言的数组描述_下列关于Java语言的数组描述中,错误的是()。_学小易找答案...
[单选题]下面()是正确的main()方法说明. [填空题]Java规定,如果子类中定义的成员方法与父类中定义的成员方法同名,并且参数的( )和类型以及( )的类型也相同,则父类中的同名成员方法被屏蔽 ...
- 在php中可以使用几种方法定义数组,PHP中数组定义的几种方法
在php.html" target="_blank">php和其他编程语言中,需要常常使用数组创建,我们在前端开发中,js的数组创建可以由new array创建,下 ...
最新文章
- vue.js学习笔记 - 组件(二)
- 云安全能否给企业带来真正的安全?
- 错误:java.lang.ClassNotFoundException:org.apache.commons.fileupload.FileItemFactory 解决方案...
- VTK:PCA用法实战
- java学习(15):巩固练习
- RTT大牛告诉你,混合微内核是什么?
- openeim再被刺也忍着痛继续吃
- ThinkPhp框架:父类及表单验证
- Shuffling Machine (20)
- V神演讲干货全送上!关于以太坊2.0,你想知道的都在这里!
- 如何配置Mac OS X实现LAN唤醒?
- oracle11g数据库登录01017,windows oracle11g数据库使用sqlplus登录的时候出现ora-01017报错...
- java servlet的包下载_javax.servlet.jar下载
- 加好友饥荒服务器没有响应,饥荒进不去别人的服务器 | 手游网游页游攻略大全...
- msm8937声卡挂载问题
- 谷歌恐龙游戏HTML,谷歌浏览器小恐龙游戏
- oracle分页查询最常用的,常用的数据库分页查询语句
- ESP32 TM1637显示4位数码管
- 剑灵认证服务器系统出错,剑灵手游程序错误怎么办 和服务器断开官方解决
- zip压缩包带有密码如何解压
热门文章
- ProcessingJoy ——路径文字【JAVA】
- 剑网3服务器维护日期,3月11日服务器例行维护公告 更新1936版本
- PhotoShop CC 2017软件工具面板使用---仿制图章工具
- 2. (5.6~5.18)2022年自动化保研信息+分析汇总(夏令营)
- esp32 接摄像头_这个小偷真大胆 大白天竟敢偷监控摄像头
- python与mysql交互详解
- 哈希算法在判定树同构方面的应用(上)
- 2019零基础DIY组装电脑台式主机教程(图文讲解版)
- 第五次C语言上机实验报告
- 四、采集和制作数据集