冒泡排序

2019-08-28  本文已影响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.按照步骤一的方法进行相邻两个元素的比较,这个时候由于最后一个元素已经是最大的了,所以最后一个元素不用比较。

上一篇下一篇

猜你喜欢

热点阅读