美文网首页
排序入门----简单冒泡排序理解

排序入门----简单冒泡排序理解

作者: 睡前听卡农 | 来源:发表于2021-04-28 22:04 被阅读0次

    冒泡排序

    冒泡排序是我们学习编程过程中必不可少的一种排序,也是我第一次学习的排序,当时记得老师只是让我们死记硬背,但是后来接触编程多了以后发现理解思想是最重还要的,我理解的冒泡排序是像泡泡一样一个接一个的排序。
    首先要学习冒泡排序就要了解它的排序规则。
    1.PNG
    首先看上图有五个数据(顺序无所谓),我们从上面图可知,是将第一个数据和第二个数据进行排序,如果数据1大于数据2,则要进行数据的交换,如果数据1小于数据2,则不变。 因此,我们可以看出第一趟进行4次,第二趟就需要执行3次,第三趟需要执行两次,第四趟需要一次
    但是我们需要知道它需要进行4趟,长度为arr.length-1,交换次数为4,3,2,1。
    索引 交换次数 规律
    0 4 4-0(arr.length-1-i)
    1 3 4-1
    2 2 4-2
    3 1 4-3
    由此可知,交换次数与执行趟数的关系为arr.length-i-1。
    如何交换两个数呢?
    这里就需要借用到一个中间量,根据下图可以更好的理解。
    2.PNG
     var a=1;
     var b=2;
     var t;
     t=a;
     a=b;
     b=t;
     console.log(a,b)
    
    然后进行冒泡排序
    for(var i=0;i<=arr.length;i++){        //外层循环,用来控制趟数
     for(var j=0;j<=arr.length-i-1;j++){    //里层循环,用来控制交换次数
     if(arr[j]>arr[j+1]){
     temp=arr[j];
     arr[j]=arr[j+1];
     arr[j+1]=temp;
     }
    
     }
    }
    console.log(arr);
    
    以上就是简单学习的冒泡排序,如果有不对的地方,恳请指正。

    相关文章

      网友评论

          本文标题:排序入门----简单冒泡排序理解

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