Javascript冒泡排序算法详解


Posted in Javascript onDecember 03, 2014

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

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 相关文章推荐
减少访问DOM的次数提升javascript性能
Feb 24 Javascript
js实现页面跳转重定向的几种方式
May 29 Javascript
利用原生JavaScript获取元素样式只是获取而已
Oct 08 Javascript
原生JS和JQuery动态添加、删除表格行的方法
May 28 Javascript
jquery ztree实现模糊搜索功能
Feb 25 Javascript
jQuery实现的自动加载页面功能示例
Sep 04 Javascript
如何提高javascript加载速度
Dec 26 Javascript
JS判断一个数是否是水仙花数
Jun 11 Javascript
浅谈Webpack打包优化技巧
Jun 12 Javascript
react 移动端实现列表左滑删除的示例代码
Jul 04 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
Jul 10 jQuery
Vue中computed及watch区别实例解析
Aug 01 Javascript
Javascript堆排序算法详解
Dec 03 #Javascript
node.js下when.js 的异步编程实践
Dec 03 #Javascript
jquery操作 iframe的方法
Dec 03 #Javascript
使用js实现数据格式化
Dec 03 #Javascript
使用js获取图片原始尺寸
Dec 03 #Javascript
上传文件返回的json数据会被提示下载问题解决方案
Dec 03 #Javascript
使用jQuery实现验证上传图片的格式与大小
Dec 03 #Javascript
You might like
php正则表达式使用的详细介绍
2013/04/27 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
为PHP5.4开启Zend OPCode缓存
2014/12/26 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
2020/08/17 PHP
关于JavaScript的一些看法
2009/05/27 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
锋利的jQuery 第三章章节总结的例子
2010/03/23 Javascript
wap图片滚动特效无css3元素纯js脚本编写
2014/08/22 Javascript
JS实现弹性漂浮效果的广告代码
2015/09/02 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
JavaScript严格模式下关于this的几种指向详解
2017/07/12 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
vue仿element实现分页器效果
2018/09/13 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
2019/02/22 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
2019/07/29 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
python中的代码编码格式转换问题
2015/06/10 Python
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
Python实现图片添加文字
2019/11/26 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
捷克家电和家具购物网站:OKAY.cz
2020/07/23 全球购物
卫生标语大全
2014/06/21 职场文书
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
社会实践活动总结
2015/02/05 职场文书
学校运动会感想
2015/08/10 职场文书
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python