美文网首页
冒泡排序

冒泡排序

作者: 落花夕拾 | 来源:发表于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