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中的Window窗口对象
Jan 16 Javascript
jQuery中的常用事件总结
Dec 27 Javascript
在Linux上用forever实现Node.js项目自启动
Jul 09 Javascript
Javascript中获取对象的原型对象的方法小结
Feb 25 Javascript
浅析JS原型继承与类的继承
Apr 07 Javascript
jQuery grep()方法详解及实例代码
Oct 30 Javascript
three.js快速入门【推荐】
Jan 21 Javascript
微信小程序如何获知用户运行小程序的场景教程
May 17 Javascript
详解如何使用 vue-cli 开发多页应用
Dec 16 Javascript
利用Node.js批量抓取高清妹子图片实例教程
Aug 02 Javascript
vue-cli webpack配置文件分析
May 20 Javascript
Node.js系列之安装配置与基本使用(1)
Aug 30 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
phpBB BBcode处理的漏洞
2006/10/09 PHP
php 大数据量及海量数据处理算法总结
2011/05/07 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
PHP中mysqli_get_server_version()的实例用法
2020/02/03 PHP
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
javascript几个易错点记录
2014/11/26 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
Django中反向生成models.py的实例讲解
2018/05/30 Python
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
python批量下载抖音视频
2019/06/17 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
浅析python函数式编程
2020/09/26 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
HEMA法国:荷兰原创设计
2019/02/21 全球购物
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
商场促销活动方案
2014/02/08 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
宿舍标语大全
2014/06/19 职场文书
老公保证书
2015/01/17 职场文书
安全教育第一课观后感
2015/06/17 职场文书
九年级语文教学反思
2016/03/03 职场文书
大学生暑期社会实践的个人总结!
2019/07/17 职场文书
python实现剪贴板的操作
2021/07/01 Python
「魔法少女伊莉雅」美游粘土人开订
2022/03/21 日漫