什么是冒泡排序

冒泡排序(Bubble Sort),是一种计算机科领域的较简单的排序算法。

它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。【解释来源百度】

原理

  • 比较相邻的元素。如果第一个比第二个大,就交换他们两个;
  • 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数;
  • 针对所有的元素重复以上的步骤,除了最后一个;
  • 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较;

【动态示意图】

【代码演示】

public class BubbleSort {public static void main(String[] args) {int [] array = {5,3,9,1,2,84,6};int outer = array.length;for (int i = 1 ; i< outer ; i++){int intimal = outer - i;for (int j = 1 ; j <= intimal ; j++){if (array[j-1] > array[j]){int number = array[j-1];array[j-1] = array[j];array[j] = number;}}System.out.println("第"+i+"轮冒泡排序结果为:");for (int a:array){System.out.print(a+"\t");}System.out.println("");}}
}

Java —— 冒泡排序相关推荐

  1. Java冒泡排序【简】

    为什么80%的码农都做不了架构师?>>>    Java冒泡排序 概念:重复遍历要排序的数列.一次比较两个元素,大小互换.遍历到该数列无需互换,排序完成 Java冒泡排序 publi ...

  2. java 冒泡排序_Java冒泡排序详解

    Java冒泡排序 排序算法概述 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法.排序算法在很多领域得到相当地重视, ...

  3. 从键盘上录入学生人数和每个学生的分数,按分数降序输出所有的分数,java冒泡排序应用

    从键盘上录入学生人数和每个学生的分数,按分数降序输出所有的分数 import java.util.Arrays; import java.util.Scanner;/* * 从键盘上录入学生人数和每个 ...

  4. java冒泡排序 快速排序_Java必备-冒泡排序,选择排序,快速排序(纯代码实现)

    importjava.util.Arrays;/*** 是将无序a[0],a[1]...a[n],将其升序排序,比较a[0].a[1]的值,若结果为1,则交换两者的值,否则不变,接着继续向下比较.最后 ...

  5. c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习

    材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...

  6. 实现简单的Java冒泡排序代码

    冒泡排序基本介绍 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越 ...

  7. 冒泡排序的代码java,Java冒泡排序代码示例

    Java冒泡排序代码示例 代码如下:↓ package com.coding.learn; import java.util.Arrays; /** * @author 老菜鸟 * @version ...

  8. JAVA冒泡排序算法(含详细过程代码讲解及优化)

    冒泡排序算法拆分讲解及优化 java冒泡排序 一.代码的拆分讲解 从上面步骤,可以观察到每次的j都相对于前一趟进行-1操作,所以可以把这些操作套在一个for循环里来控制j即可. 二.冒泡排序的代码 优 ...

  9. Java冒泡排序原理速记,选择排序原理速记

    Java冒泡排序原理速记,选择排序原理速记 冒泡排序原理分析: 冒泡排序从左往右两两比较:保护右边的排序好的元素(比较直接交换元素). 选择排序原理: 选择排序从左往右依次比较:保护左边排序好的元素( ...

  10. 懒癌患者的学习记录之JAVA冒泡排序代码

    冒泡排序 冒泡排序基本思路: 从第零位开始,依次与后一位进行比较并将较大的往后排较小的往前排.第一次循环就会将最大的值排在最后一位,第二次循环会将第二大的值排在倒数第二位,以此类推. JAVA冒泡排序 ...

最新文章

  1. CSRF(Cross-site request forgery)跨站请求伪造
  2. 02_NoSQL数据库之Redis数据库:string类型和hash类型
  3. 释放Linux磁盘空间方法
  4. 最优化方法:梯度下降法、SGD
  5. JavaScript-操作DOM对象-更新dom节点
  6. MFC操作多个安卓设备(发送指令)
  7. linux raw格式改名img,4款Linux下的RAW格式图片编辑软件
  8. java 夏令时标志_夏令时随绝对日期而变化
  9. Leetcode207---课程表(逆拓扑排序)
  10. DB2获取CHAR字段数据的数据长度方法
  11. 花4个月时间整理出《Spring揭秘》的文字版的感受
  12. 泛微mysql密码_泛微OA 数据库维护笔记(e-cology)
  13. 国内计算机论文期刊,国内都有哪些计算机领域的投稿期刊
  14. 伍斯特学院计算机专业排名,美国大学计算机专业排名!
  15. 学习之 “Spark的安装配置”
  16. 微信开方平台微信管理员重置
  17. MobilenetV2学习笔记 --- MobileNetV2: Inverted Residuals and Linear Bottlenecks
  18. 你不可不知的《哈利波特》秘密(三)
  19. mysql中declare语句用法详解
  20. 根据身高体重计算某个人的BMI值

热门文章

  1. 阿里云购买域名到icp备案
  2. 黑苹果NVIDIA显卡驱动程序【WebDriver-378.10.10.10.25.103 +支持macOS 10.13.2 High Sierra (17C89)版本】
  3. RS485通信接口设计方案
  4. keras中的目标函数和优化函数
  5. Gitee码云 操作
  6. 关于Mysql出现1045错误的方法
  7. python中使用for循环遍历列表元素
  8. C++初阶—STL简介
  9. 病原微生物高通量测序:第二节 应用场景
  10. 2、java的应用领域