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 prototype属性深入介绍
Nov 27 Javascript
javascript间隔刷新的简单实例
Nov 14 Javascript
JS判断字符串包含的方法
May 05 Javascript
jQuery判断指定id的对象是否存在的方法
May 22 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
Aug 15 Javascript
如何屏蔽防止别的网站嵌入框架代码
Aug 24 Javascript
两种简单的跨域方法(jsonp、php)
Jan 02 Javascript
简单实现js悬浮导航效果
Feb 05 Javascript
javascript观察者模式实现自动刷新效果
Sep 05 Javascript
vue router使用query和params传参的使用和区别
Nov 13 Javascript
JS实现按比例缩小图片宽高
Aug 24 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
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代码规范、流程规范、git规范
2018/06/18 PHP
javascript 写类方式之八
2009/07/05 Javascript
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
JavaScript执行顺序详细介绍
2013/12/04 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
基于jquery实现的鼠标悬停提示案例
2016/12/11 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
使用layui日期控件laydate对开始和结束时间进行联动控制的方法
2019/09/06 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
[01:05:30]VP vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
删除目录下相同文件的python代码(逐级优化)
2012/05/25 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
Django网络框架之HelloDjango项目创建教程
2019/06/06 Python
python通过实例讲解反射机制
2019/10/17 Python
Python使用贪婪算法解决问题
2019/10/22 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
使用django自带的user做外键的方法
2020/11/30 Python
美国彩妆品牌:Coastal Scents
2017/04/01 全球购物
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
标准自荐信范文
2014/01/29 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
挂职学习心得体会
2014/09/09 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
学习十八大宣传标语
2014/10/09 职场文书
清洁员岗位职责
2015/02/15 职场文书
政审证明材料
2015/06/19 职场文书
sentinel支持的redis高可用集群配置详解
2022/04/01 Redis
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers