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 相关文章推荐
JavaScript 学习点滴记录
Apr 24 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
May 09 Javascript
js jquery获取随机生成id的服务器控件的三种方法
Jul 11 Javascript
JavaScript获取当前cpu使用率的方法
Dec 15 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
Aug 03 Javascript
AngularJs 动态加载模块和依赖
Sep 15 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
Jan 20 Javascript
深入理解Angular中的依赖注入
Jun 26 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
Feb 01 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
Oct 19 Javascript
JavaScript实现动态留言板
Mar 16 Javascript
基于jquery实现彩色投票进度条代码解析
Aug 26 jQuery
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
JAVA/JSP学习系列之二
2006/10/09 PHP
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
定义php常量的详解
2013/06/09 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
jquery入门—访问DOM对象方法
2013/01/07 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
js实现页面刷新滚动条位置不变
2016/11/27 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
2018/07/18 Javascript
实现一个 Vue 吸顶锚点组件方法
2019/07/10 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
2020/02/06 Javascript
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
Python 随机生成中文验证码的实例代码
2013/03/20 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
django如何连接已存在数据的数据库
2018/08/14 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
Python去除字符串前后空格的几种方法
2019/03/04 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
Python使用openpyxl复制整张sheet
2021/03/24 Python
自考毕业自我鉴定范文
2013/10/27 职场文书
项目经理任命书范本
2014/06/05 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
python process模块的使用简介
2021/05/14 Python
Go语言空白表示符_的实例用法
2021/07/04 Golang