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的原生方法获取数组中的最大(最小)值
Dec 19 Javascript
MultiSelect左右选择控件的设计与实现介绍
Jun 08 Javascript
jquery中push()的用法(数组添加元素)
Nov 25 Javascript
jquery仿百度百科底部浮动导航特效
Aug 08 Javascript
Javascript 调用 ActionScript 的简单方法
Sep 22 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
Dec 11 Javascript
Node.js Express 框架 POST方法详解
Jan 23 Javascript
jQuery实现的简单拖动层示例
Feb 22 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
Mar 27 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
Jul 10 jQuery
ES6 let和const定义变量与常量的应用实例分析
Jun 27 Javascript
JS highcharts实现动态曲线代码示例
Oct 16 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中,文件上传
2006/12/06 PHP
判断PHP数组是否为空的代码
2011/09/08 PHP
WordPress网站性能优化指南
2015/11/18 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
PHP array_shift()用法实例分析
2019/01/07 PHP
详解将数据从Laravel传送到vue的四种方式
2019/10/16 PHP
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
JavaScript中自带的 reduce()方法使用示例详解
2016/08/10 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
2019/05/18 Javascript
javascript中call,apply,callee,caller用法实例分析
2019/07/24 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
2019/10/11 Javascript
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
彻底理解Python中的yield关键字
2019/04/01 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
意大利婴儿产品网上商店:Mukako
2018/10/14 全球购物
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
培训专员岗位职责
2014/02/26 职场文书
双拥工作宣传标语
2014/06/26 职场文书
2014年助理政工师工作总结
2014/12/19 职场文书
个人承诺书格式范文
2015/04/29 职场文书
学校计划生育责任书
2015/05/09 职场文书
2019年工作总结范文
2019/05/21 职场文书
自己搭建resnet18网络并加载torchvision自带权重的操作
2021/05/13 Python
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL
利用Java连接Hadoop进行编程
2022/06/28 Java/Android