美文网首页
冒泡排序

冒泡排序

作者: 落花夕拾 | 来源:发表于2019-08-28 22:34 被阅读0次

    原理
    依次比较相邻的两个值,如果后面的比前面的小,则将小的元素排到前面。依照这个规则进行多次并且递减的迭代,直到顺序正确。
    时间复杂度,空间复杂度,稳定性
    平均时间复杂度O(nn)
    最好情况O(n)
    最差情况O(n
    n)
    空间复杂度O(1)
    稳定性:稳定
    冒泡排序的写法

    var arr= [1,31,65,23,3,67]
    for(var i = 0;i<arr.length-1;i++){
        for(var j =0;j<arr.length-i-1;j++){
          if(arr[j] > arr[j+1]){
                 var temp = arr[j +1];
                  arr[j+1] = arr[j];
                  arr[j] = temp;
          }
        }
    }
    console.log(arr)
    
    //[1, 3, 23, 31, 65, 67]
    

    解析:1.比较相邻的两个元素,如果前一个比后一个大,则交换位置。

    2.第一轮的时候最后一个元素应该是最大的一个。

    3.按照步骤一的方法进行相邻两个元素的比较,这个时候由于最后一个元素已经是最大的了,所以最后一个元素不用比较。

    相关文章

      网友评论

          本文标题:冒泡排序

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