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 相关文章推荐
javascript GUID生成器实现代码
Oct 31 Javascript
jQuery性能优化的38个建议
Mar 04 Javascript
JavaScript闭包实例讲解
Apr 22 Javascript
原生js实现可拖动的登录框效果
Jan 21 Javascript
PHP实现本地图片上传和验证功能
Feb 27 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
Jul 19 jQuery
微信小程序实现YDUI的ScrollNav组件
Feb 02 Javascript
使用Node.js写一个代码生成器的方法步骤
May 10 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
Jun 13 Javascript
vue.js购物车添加商品组件的方法
Sep 17 Javascript
VUE+elementui面包屑实现动态路由详解
Nov 04 Javascript
基于原生js实现九宫格算法代码实例
Jul 03 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
php 无限级缓存的类的扩展
2009/03/16 PHP
php图片加中文水印实现代码分享
2012/10/31 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
2019/03/12 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
js Dialog 实践分享
2012/10/22 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
基于jquery实现在线选座订座之影院篇
2015/08/24 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
详解WordPress开发中get_current_screen()函数的使用
2016/01/11 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
微信小程序批量上传图片到七牛(推荐)
2019/12/19 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
Python中的yield浅析
2014/06/16 Python
python字典排序的方法
2019/10/12 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
python+opencv3生成一个自定义纯色图教程
2020/02/19 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
拾金不昧表扬信范文
2014/01/11 职场文书
道路建设实施方案
2014/03/18 职场文书
产品推广策划方案
2014/05/10 职场文书
解放思想演讲稿
2014/09/11 职场文书
离婚起诉书范本
2015/05/18 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
Redis主从配置和底层实现原理解析(实战记录)
2021/06/30 Redis
Python几种酷炫的进度条的方式
2022/04/11 Python