首页 > 其他分享 >冒泡排序

冒泡排序

时间:2022-10-27 21:23:16浏览次数:65  
标签:数比下 交换 冒泡排序 倒数 排序 数和下

算法详解

以从小到大排序为例,冒泡排序法的思路是:
遍历原始数据,从第一个数开始,到倒数第二个数结束,比较这个数和下一个数的大小,如果这个数比下一个数大,则交换这两个数。这样便可以将数据中最大的数转移到数组的最后。
之后再次遍历原始数据,但是变为从第一个数开始,到倒数第三个数结束,比较这个数和下一个数的大小,如果这个数比下一个数大,则交换这两个数。这样便可以将第二大的数转移到数组的倒数第二位。
重复执行上述过程,一直到从第一个数开始,到第二个数结束,从而完成了排序过程。
由于这个循环过程就像泡泡上浮的过程,所以被称为冒泡排序法。

注释:图中,红色代表当前要进行比较的两个数,蓝色代表交换(或不交换)后的两个数,绿色代表已经完成排序的部分。

 

 

 

 

 

标签:数比下,交换,冒泡排序,倒数,排序,数和下
From: https://www.cnblogs.com/happy12123/p/16833772.html

相关文章

  • 大数据基础之java常用API二(数组元素排序,冒泡排序、Arrays类,包装类,Date类)
    (大数据基础之常用API二)1.数组元素排序1.1冒泡排序图解代码演示publicstaticvoidmain(String[]args){int[]arr={25,69,80,57,13};//遍......
  • 数据结构【c语言版】八大算法(上)图文详解带你快速掌握——希尔排序,堆排序,插入排序,选择
    数据结构之八大算法详解(1)——希尔排序,堆排序,插入排序,选择排序,冒泡排序!插入排序基本思想把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所......
  • 冒泡排序详解
    冒泡排序分析详细节情版importrandomdefbubble(li):foriinrange(len(li)-1):exchange=Falseforjinrange(len(li)-i-1):``......
  • 冒泡排序
    #include<stdio.h>void_sum(intarr[],intsz)//冒泡排序{ inti=0; for(i=0;i<sz-1;i++)//排序的趟数 { intj=0; intflag=1; for(j=0;......
  • Demo46_冒泡排序01
    //冒泡排序packagecom.HuanXin.array_6;publicclassDemo08_01{publicstaticvoidmain(String[]args){int[]QQ={1,4,5,6,78,9};int[]aa=AA......
  • c语言冒泡排序法代码(c语言冒泡排序法代码讲解)
    求一个C语言冒泡排序法的简单程序怎么办?  下一趟排序开始时,R[1。。lastExchange-1]是有序区,R[lastExchange。。n]是无序区。这样,一趟排序可能使当前有序区扩充多个记录,从......
  • CF 1677D(Tokitsukaze and Permutations-冒泡排序)
    已知长度为n的排列,经过k次冒泡(每次把最大的数交换到最后)后,得到的新序列为.现在已知的某些地方的值,不知道的记,求合法原排列数。考虑和排列达成双射关系。且1次冒泡会导致......
  • Demo45_冒泡排序
    packagecom.HuanXin.CeShi;importjava.util.Arrays;publicclassD{publicstaticvoidmain(String[]args){int[]AA={1,3,5,8};//11-1=10......
  • 逻辑知识:冒泡排序算法
     前言在软件开发中,冒泡排序对于一些软件开发工程师很常用,而且它也是一种比较经典的算法之一,那么本节就来说说这个冒泡排序。冒泡排序概念冒泡排序(BubbleSort),是一种计算......
  • JavaScript 实现 -- 冒泡排序
    冒泡排序冒泡排序(BubbleSort)也叫气泡排序、泡沫排序,是一种比较简单的排序算法。它通过遍历数组,比较相邻的两个元素,如果前一个元素比后一个元素大,则交换它们的位置,这样第......