Javascript冒泡排序算法详解

比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

复制代码 代码如下:


function sort(elements){
  for(var i=0;i<elements.length-1;i++){
    for(var j=0;j<elements.length-i-1;j++){
      if(elements[j]>elements[j+1]){
        var swap=elements[j];
        elements[j]=elements[j+1];
        elements[j+1]=swap;
      }
    }
  }
}

var elements = [3, 1, 5, 7, 2, 4, 9, 6, 10, 8];
console.log('before: ' + elements);
sort(elements);
console.log(' after: ' + elements);


 
效率:

时间复杂度:最好:O(n),最坏:O(n^2),平均:O(n^2)。

空间复杂度:O(1)。

稳定性:稳定。

您可能感兴趣的文章:

相关文章

字符替换是一个非常重要的功能,javascript 中有一个 String.replace( ),但是此方法有很多不为新手所知的妙用,如果用的好了,可以为您节省很多宝贵时间,还等什么?马上进来看看吧!

2009-09-09

这篇文章主要介绍了深入理解JavaScript编程中的原型概念,包括prototype属性的使用等一些相关知识,需要的朋友可以参考下

2015-06-06

关于JavaScript,他是一个OOSP(面向对象脚本语言)他是用来创建动态网站,增强用户界面的一门技术。如果你想了解更多关于JavaScript的信息,请去维基百科查询。

2010-02-02

本篇文章,小编为大家介绍,在JavaScript中typeof的用途介绍。不过在阅读本文的前提是,你现在应该已经知道原始值和对象值的区别了

2013-04-04

我们经常用到js的数组,因为他方便控制,所以他的一些方法,大家一定要熟练应用

2008-06-06

这篇文章主要介绍了在JavaScript中处理字符串之fontcolor()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下

2015-06-06

本篇文章对JavaScript中声明全局变量的三种方式进行了详细的分析介绍。需要的朋友参考下

2013-05-05

javascript正则检测只含有汉字、数字、字母、下划线不能以下划线开头和结尾,需要的朋友可以参考下

2014-04-04

判断一个变量的类型尝尝会用 typeof 运算符而他毕竟有些缺陷,就是无论引用的是什么类型的对象,它都返回object,这时就要用到instanceof来检测某个对象是不是另一个对象的实例

2013-10-10

这篇文章主要介绍了JavaScript中循环遍历Array与Map的各种方法,利用的都是js入门学习中的基础知识,需要的朋友可以参考下

2016-03-03

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgsyxx.html