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 相关文章推荐
JQuery切换显示的效果实例代码
Feb 27 Javascript
js关于精确计算和数值格式化以及直接引js文件
Jan 28 Javascript
JavaScript中的console.assert()函数介绍
Dec 29 Javascript
基于Jquery插件实现跨域异步上传文件功能
Apr 26 Javascript
JS实现自定义状态栏动画文字效果示例
Oct 12 Javascript
深入理解Vue nextTick 机制
Apr 28 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
Jun 05 Javascript
对layer弹出框中icon数字参数的说明介绍
Sep 04 Javascript
微信接入之获取用户头像的方法步骤
Sep 23 Javascript
jQuery表单校验插件validator使用方法详解
Feb 18 jQuery
微信小程序选择图片控件
Jan 19 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
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
php 错误处理经验分享
2011/10/11 PHP
php 判断网页是否是utf8编码的方法
2014/06/06 PHP
PHP中调用SVN命令更新网站方法
2015/01/07 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
jQuery计算textarea中文字数(剩余个数)的小程序
2013/11/28 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
Jquery的基本对象转换和文档加载用法实例
2015/02/25 Javascript
javascript框架设计之种子模块
2015/06/23 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
性能优化之代码优化页面加载速度
2017/03/01 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
2017/03/21 jQuery
Angular 4中如何显示内容的CSS样式示例代码
2017/11/06 Javascript
Vue实现日历小插件
2019/06/26 Javascript
Vue 设置axios请求格式为form-data的操作步骤
2019/10/29 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
使用Python写个小监控
2016/01/27 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
对python中的iter()函数与next()函数详解
2018/10/18 Python
python datetime中strptime用法详解
2019/08/29 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
工商治理实习生的自我评价分享
2014/02/20 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
项目经理任命书范本
2014/06/05 职场文书
拓展训练激励口号
2014/06/17 职场文书
2014年施工员工作总结
2014/11/18 职场文书
项目战略合作意向书
2015/05/08 职场文书
高中地理教学反思
2016/02/19 职场文书