美文网首页
我理解的冒泡排序

我理解的冒泡排序

作者: 雨未浓 | 来源:发表于2020-06-21 18:20 被阅读0次

冒泡排序:顾名思义就是气泡从水中向外冒越来越大

基本思想:从左到右每次比较两个相邻的数,大的往后移动,小的往前移动,这里有个易误点,每次向右移动的过程中都是较大的数参与后续比较,最终的结果是得到最大的数排在最后面,要有逆向思维,他其实是从大到小排的,只不过将大数放在后面。
示例:例如一个数组[3,6,7,4,5],首先3和6比较,位置不变,然后右移一位,6和7比较仍然不变,再右移,7和4比较,7比4大,交换位置,再后移一位,7和5比较(前面一步7的位置后移一位了),7比5大,交换位置,第一轮循环下来,得到的数组排序是[3,6,4,5,7],第二轮时仍然从左到右,只是没有必要比较最后一个数了,因为它是最大的肯定不用交换位置,依次下去就得到第二大,第三大...

代码如下:

function bubleSort (arr){
            for(let i=0;i<arr.length-1;i++){  //第一层遍历是计次,一共需要遍历n-1论,和以往的遍历计点不同
                for(let j=0;j<arr.length-1-i;j++){ //第二层遍历计点,每次往后移动一位,每增加一轮,就少比较一个已经排好序的数
                    if(arr[j]>arr[j+1]){
                        [arr[j],arr[j+1]] = [arr[j+1],arr[j]]
                    }
                }
            }
            return arr
        }

注解以上是为了便于理解创造的术语,并非官方术语,计次和计点是我的理解意思,计次表示循环是次数的累加,计点是数据的位置后移,获取新的数据

相关文章

  • 前端er常用的几种排序方法

    前端常用的排序方法有:冒泡排序,选择排序,快速排序,插入排序 一、冒泡排序 理解冒泡排序 相邻的两个元素依次比较,...

  • 冒泡排序与选择排序

    冒泡排序 冒泡排序原理:比较相邻的元素,较小的放到前面,较大的放到后面 要理解冒泡排序首先要理解两个元素互换 例如...

  • Java冒泡排序,快速排序理解与实现

    经典排序算法中,有好几种排序,下边说下冒泡排序和快速排序的理解与实现,记太多容易混乱; 1.冒泡排序:字面理解,值...

  • 必须掌握算法:冒泡、选择、插入排序算法

    目录 1、冒泡排序 2、选择排序 3、插入排序 4、总结 1、冒泡排序 这个名词的由来很好理解,一般河水中的冒泡,...

  • php之排序-------冒泡排序的优化

    本文需要在理解冒泡排序的基础之上 排序是算法入门的基础操作,冒泡排序很经典。下面这个改进后的冒泡排序,使循环的次数...

  • 我理解的冒泡排序

    冒泡排序:顾名思义就是气泡从水中向外冒越来越大 基本思想:从左到右每次比较两个相邻的数,大的往后移动,小的往前移动...

  • 算法-冒泡排序

    冒泡排序是什么?怎么理解? 冒泡排序每次 轮循 可以找到一个最大值。 因为冒泡排序使用两两比较的方式进行。每次抓取...

  • 算法理解之排序-冒泡排序

    算法理解之排序-冒泡排序 冒泡排序是一种简单的排序算法, 算法依次走访未排序的元素, 然后将相邻元素依次两两比较,...

  • php实现冒泡排序算法

    理解 冒泡排序,时间复杂度哦、O(N^2)冒泡排序的核心部分是双重嵌套循环。不难看出冒泡排序的时间复杂度是 O(N...

  • 冒泡排序的理解

    文章参考:图解冒泡排序及优化[https://www.cnblogs.com/kalton/p/13649798....

网友评论

      本文标题:我理解的冒泡排序

      本文链接:https://www.haomeiwen.com/subject/mkmaxktx.html