js交换排序 冒泡排序算法(Javascript版)


Posted in Javascript onOctober 04, 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中出现乱码的处理心得
Dec 24 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
Feb 20 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
Aug 31 Javascript
每天一篇javascript学习小结(Boolean对象)
Nov 12 Javascript
javascript每日必学之继承
Feb 23 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
Jun 22 Javascript
关于webpack2和模块打包的新手指南(小结)
Aug 07 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
Oct 12 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
Nov 07 Javascript
用Golang运行JavaScript的实现示例
Nov 25 Javascript
node.js中module模块的功能理解与用法实例分析
Feb 14 Javascript
JavaScript实现淘宝商品图切换效果
Apr 29 Javascript
Javascript获取当前时间函数和时间操作小结
Oct 01 #Javascript
js事件绑定快捷键以ctrl+k为例
Sep 30 #Javascript
显示今天的日期js代码(阳历和农历)
Sep 30 #Javascript
gridview生成时如何去掉style属性中的border-collapse
Sep 30 #Javascript
javascript学习笔记(四)function函数部分
Sep 30 #Javascript
javascript学习笔记(三)BOM和DOM详解
Sep 30 #Javascript
让人蛋疼的JavaScript语法特性
Sep 30 #Javascript
You might like
杏林同学录(九)
2006/10/09 PHP
php下正则来匹配dede模板标签的代码
2010/08/21 PHP
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
PHP实现自动对图片进行滚动显示的方法
2015/03/12 PHP
php版微信js-sdk支付接口类用法示例
2016/10/12 PHP
网页图片延时加载的js代码
2010/04/22 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
10 种最常见的 Javascript 错误(频率最高)
2018/02/08 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
Python中使用Beautiful Soup库的超详细教程
2015/04/30 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
Python中的Django基本命令实例详解
2018/07/15 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2018/11/18 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
Python json读写方式和字典相互转化
2020/04/18 Python
法国在线药房:DoctiPharma
2020/10/21 全球购物
毕业生就业推荐信范文
2013/12/01 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
2014年药店工作总结
2014/11/20 职场文书
高中生毕业评语
2014/12/30 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS
Golang中channel的原理解读(推荐)
2021/10/16 Golang
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL