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 相关文章推荐
使用prototype.js 的时候应该特别注意的几个问题.
Apr 12 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
Nov 28 Javascript
JavaScript在XHTML中的用法详解
Apr 11 Javascript
javascript根据像素点取位置示例
Jan 27 Javascript
javascript实现获取字符串hash值
May 10 Javascript
javascript引用类型之时间Date和数组Array
Aug 27 Javascript
jQuery ajax分页插件实例代码
Jan 27 Javascript
Node.js操作mysql数据库增删改查
Mar 30 Javascript
javascript对象的相关操作小结
May 16 Javascript
AngularJS 依赖注入详解和简单实例
Jul 28 Javascript
Angularjs中数据绑定的实例详解
Aug 25 Javascript
Angular实现预加载延迟模块的示例
Oct 12 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
smarty巧妙处理iframe中内容页的代码
2012/03/07 PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
2013/07/03 PHP
php中AES加密解密的例子小结
2014/02/18 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
PHP7新功能总结
2019/04/14 PHP
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
简单了解JavaScript异步
2019/05/23 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
2020/05/01 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
对于Python编程中一些重用与缩减的建议
2015/04/14 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
Windows和Linux下Python输出彩色文字的方法教程
2017/05/02 Python
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
基于Python os模块常用命令介绍
2017/11/03 Python
pandas DataFrame 行列索引及值的获取的方法
2019/07/02 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
python实现ftp文件传输功能
2020/03/20 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
几道Web/Ajax的面试题
2016/11/05 面试题
创业计划书之香辣虾火锅
2019/09/23 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
Python数据结构之队列详解
2022/03/21 Python
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers