冒泡算法(从小到大):

1、依次比较相邻的两个元素。若第一的值大于第二的值,则交换它们;

2、每轮将会把大值交换到数组尾;

3、因而每轮比较的次数越来越少;

public class BubbleSort_1 {public void BubbleSort_1(int[] score) {// 方法一:int j, i, temp;for (i = score.length - 1; i > 0; i--) {// 从小到大for (j = 0; j < i; j++) {if (score[j] > score[j + 1]) {// 每轮把最大的交换到后面temp = score[j];score[j] = score[j + 1];score[j + 1] = temp;}}showDate(score); // 打印
        }}public void BubbleSort_2(int[] score) {// 方法二int j, i, temp;for (i = 0; i < score.length; i++) {// 从小到大for (j = i; j < score.length; j++) {if (score[i] > score[j]) {/* >时,每轮最小的交换到前面,<时每轮最大的交换到前面 */temp = score[i];score[i] = score[j];score[j] = temp;}}showDate(score);// 打印
        }}public void BubbleSort_3(int[] score) {// 方法三:int j, i, temp;for (i = 1; i < score.length; i++) {// 从大到小temp = score[i];for (j = i; j > 0 && score[j] > score[j - 1]; j--) {// 每轮最大的交换到前面score[j] = score[j - 1];}score[j] = temp;showDate(score); // 打印
        }}public void showDate(int[] n) {for (int i = 0; i < n.length; i++) {System.out.print("score[" + i + "] = " + n[i] + " ");}System.out.println();}public static void main(String[] args) {BubbleSort_1 s = new BubbleSort_1();int score[] = { 88, 99, 44, 77, 33, 22 };s.BubbleSort_1(score);//s.BubbleSort_2(score);//s.BubbleSort_3(score);
}
}

转载于:https://www.cnblogs.com/love--wenxing/p/4151947.html

祭奠被遗忘的冒泡排序相关推荐

  1. 遗忘比较、排序网络、非常见排序

    目录 一,遗忘比较交换算法 二,0-1排序引理 三,列排序 四,比较网络 1,比较算子 2,比较网络 3,比较网络的可并行性 五,排序网络 1,排序网络 2,排序网络的判定 3,冒泡排序的排序网络 4 ...

  2. 冒泡和快速排序的时间复杂度_「排序」冒泡排序、快速排序—图解+手撕

    前言 无论是日后面试还是笔试的,排序在数据结构与算法中有着举足轻重的地位,所以还是决定把数据结构这个专题好好写写,多研究研究!今天和大家一起学习交换类排序--冒泡和快排详解! 在排序中,冒泡和快排是考 ...

  3. 祭奠我那失去的青春--故游柞水(二、故地重游)

    经过15年的辗转,我于2012年7月24日再次乘坐飞机来到了西安,在机上我就有一个念头–看看我那流过泪.受过苦.踏上社会.第一次工作过的地方,经常在梦里萦回的地方变成了什么样,是否和我一样浴火重生或还 ...

  4. PHP算法题:如何实现冒泡排序

    算法原理: 1.比较相邻的元素,如果第一个比第二个大,那么就交换这两个元素. 2.对每一对相邻元素做同样的工作,从第一对开始到最后一对结束,最后的元素应该会是最大的数. 3.除了最后一个元素外,针对其 ...

  5. Android 相对布局别自己快遗忘的属性layout_alignRight,layout_alignBottom,layout_alignTop,layout_alignLeft

    今天在群里看到有人提到layout_alignRight 这种属性,自己想了半天居然没有了印象 赶紧写一个布局看看这个相对布局的属性 先看下自己常用的属性 android:alignParentBot ...

  6. C#基础——数组(冒泡排序)

    数组 所谓数组,就是相同数据类型的元素按一定的顺序的集合,就是把有限个类型相同的变量用一个名字来命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组成数组的各个变量称为数组的分量 ...

  7. python实现冒泡排序完整算法_Python实现冒泡排序算法的完整实例

    冒泡排序:顾名思义就是(较小的值)像泡泡一样往上冒,(大的值)往下沉. 实现原理:依次将相邻两个数值进行比较,较小的数值移到左边,较大的数值移到右边,依次比较完第一轮后,最大的数值应该排在最右边.然后 ...

  8. 为什么双层循环 冒泡排序_冒泡排序的双重循环理解

    主要说一下冒泡排序的一些关键地方的个人理解,比如算法思想,两个循环的作用意义,中间循环变量范围的确定等. 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面 ...

  9. 排序 时间倒序_经典排序算法之冒泡排序(Bubble Sort)

    冒泡排序 ( Bubble Sort ) 冒泡排序,正如它的名字一样,未排序数组中的最大(小)值会依次往上浮.冒泡排序主要有两个基本步骤:相邻元素之间的比较 和 交换位置. 步骤分析: 令待排序序列为 ...

  10. Equalizing Two Strings 冒泡排序or树状数组

    首先考虑排序后相等 如果排序后相等的话就只考虑reverse长度为2的,所以a或者b排序后存在相邻两个字母相等的话就puts YES,n>26也直接puts YES 不然的话就假设c为a,b排完 ...

最新文章

  1. 10个重构小技巧,去掉代码中的S味
  2. np实现sigmoid_使用numpy实现一个深度学习框架
  3. 云原生时代,2个方案轻松加速百万级镜像
  4. Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway.
  5. OpenGL 距离场美化实例
  6. SVG PATH d参数的 ace
  7. .Net Core微服务系列--开篇
  8. aop框架 php,xaop: 支持三种模式的AOP框架,弥补PHPer的不足,并且自带了文档的解析类库,可以一并使用,性能极好,欢迎 STAR 与 FORK。...
  9. UE4 虚幻引擎,BluePrint蓝图接受输入
  10. 现在卖什么赚钱?看看你适合哪种赚钱方式!
  11. 万恶的hello world!
  12. flyaway mysql_mysql 常用命令
  13. 如何使用启动盘启动计算机,电脑重装系统怎么设置用U盘启动盘引导?
  14. 揭秘史上最烂开发项目:苦撑12年,600万+行代码!
  15. DOS时代往事的回忆
  16. 利用fiddler和低版本的iTunes实现iOS抓包
  17. ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
  18. Lasso 和 Ridge回归中的超参数调整技巧
  19. 原生js动态添加class
  20. 副连长是什么级别_连长相当于地方上什么级别的干部

热门文章

  1. linux系统初始化脚本
  2. 全面掌握ping命令(四)ping命令常用参数
  3. [js插件]分享一个文章内容信息提示插件Colortip
  4. FTT字体绘制,2D阶段
  5. 洛谷 p1434 滑雪【记忆化搜索】
  6. 【chrome】插件开发-教程00(如何开发插件)
  7. 作为一个程序员需要学多少技能?
  8. 王建宙称乔布斯故意展开TD-LTE版iPhone
  9. java day27【DQL:查询语句、约束 、多表之间的关系 、范式 、数据库的备份和还原】...
  10. docker学习3-镜像的基本使用