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页面顶部卷动广告效果
Dec 01 Javascript
ajax请求get与post的区别总结
Nov 04 Javascript
js调试系列 断点与动态调试[基础篇]
Jun 18 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
Sep 06 Javascript
JavaScript中的数学运算介绍
Dec 29 Javascript
简单谈谈json跨域
Mar 13 Javascript
全面理解JavaScript中的继承(必看)
Jun 16 Javascript
easyui messager alert 三秒后自动关闭提示的实例
Nov 07 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
Nov 25 Javascript
将鼠标焦点定位到文本框最后(代码分享)
Jan 11 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
May 31 Javascript
JS中一些高效的魔法运算符总结
May 06 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 图像处理类1
2009/06/15 PHP
PHP遍历二维数组的代码
2011/04/22 PHP
Php header()函数语法及使用代码
2013/11/04 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
比Jquery的document.ready更快的方法
2010/04/28 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
2015/05/06 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
jQuery实现淡入淡出的模态框
2017/02/09 Javascript
jquery版轮播图效果和extend扩展
2017/07/18 jQuery
JavaScript判断输入是否为数字类型的方法总结
2017/09/28 Javascript
vue跨域解决方法
2017/10/15 Javascript
js登录滑动验证的实现(不滑动无法登陆)
2018/01/03 Javascript
nodejs中函数的调用实例详解
2018/10/31 NodeJs
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
使用Python读写文本文件及编写简单的文本编辑器
2016/03/11 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
2020/06/04 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
实习生自荐信范文分享
2013/11/27 职场文书
经典促销广告词大全
2014/03/19 职场文书
2015年维修工作总结
2015/04/25 职场文书
致青春观后感
2015/06/09 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书