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 相关文章推荐
js判断输入是否为正整数、浮点数等数字的函数代码
Nov 17 Javascript
jQuery实战之仿淘宝商城左侧导航效果
Apr 12 Javascript
基于JS2Image实现圣诞树代码
Dec 24 Javascript
基于JS代码实现导航条弹出式悬浮菜单
Jun 17 Javascript
微信小程序  audio音频播放详解及实例
Nov 02 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
Dec 17 Javascript
JS数组操作中的经典算法实例讲解
Jul 26 Javascript
vuejs 单文件组件.vue 文件的使用
Jul 28 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
Oct 26 Javascript
JS内部事件机制之单线程原理
Jul 02 Javascript
Node.js Stream ondata触发时机与顺序的探索
Mar 08 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
Jul 20 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表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
List Installed Software Features
2007/06/11 Javascript
js实现的网页颜色代码表全集
2007/07/17 Javascript
jquery异步循环获取功能实现代码
2010/09/19 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
JS图片预加载 JS实现图片预加载应用
2012/12/03 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
Vue中img的src属性绑定与static文件夹实例
2017/05/18 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
2020/07/22 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
django框架ModelForm组件用法详解
2019/12/11 Python
python实现加密的方式总结
2020/01/19 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
Ratchet 模态框的实现
2020/08/19 HTML / CSS
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
什么是抽象
2015/12/13 面试题
人事部主管岗位职责
2013/12/26 职场文书
欢迎家长标语
2014/10/08 职场文书
人事局接收函
2015/01/30 职场文书
幼儿园新生开学寄语
2015/05/27 职场文书
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python