冒泡排序之我的理解

作者: 岁月留痕 | 来源:发表于2018-08-20 18:58 被阅读2次

冒泡排序

步骤:
1, 将列表倒序取值,两两比较,(前一位和后一位),如果前一位小于后一位,将两者置换
2,每交换一轮,即每轮的最小值被移到最首位,开始下一轮比较前,将比较值的下标前移

问题:

为什么要倒序两两比较?
回想第一个步骤,结果会将每一轮比较的最小值移动到首位,这样最终结果最小的数会跑到最前面,所以举一反三,正序也可以,不过是要将最大往后沉

为什么每一轮比较后下标要往前移?
因为每一轮比较后,这轮的最小值都会移动到最首位,第二轮已经没有比的需要,当然可以再比较,只是没有必要

优化

如果数据在比较一轮后已经排好序,但是按照原有的流程还是会继续比较下去,可以判断是否发生交换,如果没有发生交换,停止循环

想明白后,开始写

         bubbleSort:function(){
            var temp ; // 临时变量
            var arr = [90,10,2,3,9,15];
            for(var i = 0; i< arr.length; i++){
                for(var j = arr.length - 1; j > i ; j--){
                        if(arr[j] < arr[j - 1]){
                            temp = arr[j];
                            arr[j] = arr[j-1];
                            arr[j-1] = temp;
                        }
                }
            }

            console.log("临时变量",arr);
            
        }

相关文章

  • 经典排序算法总结

    经典排序算法集锦 冒泡法 排序算法入门之冒泡排序 排序算法入门之冒泡排序优化

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

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

  • 冒泡排序之我的理解

    冒泡排序 步骤:1, 将列表倒序取值,两两比较,(前一位和后一位),如果前一位小于后一位,将两者置换2,每交换一轮...

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

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

  • 七大排序算法之冒泡排序

    七大排序算法之冒泡排序 @(算法笔记)[排序算法, 冒泡排序, C++实现] 冒泡排序介绍 冒泡排序是七大排序算法...

  • 冒泡排序与选择排序

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

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

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

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

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

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

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

  • 冒泡排序法

    python排序算法之冒泡排序 首先说一下冒泡排序原理: 冒泡排序(Bubble Sort),是一种计算机科学领域...

网友评论

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

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