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 私有成员分析
Jan 13 Javascript
jquery tools系列 expose 学习
Sep 06 Javascript
jQuery中bind与live的用法及区别小结
Jan 27 Javascript
js确认删除对话框适用于a标签及submit
Jul 10 Javascript
jQuery中not()方法用法实例
Jan 06 Javascript
javascript原生ajax写法分享
Apr 10 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
Jul 07 Javascript
Web安全测试之XSS实例讲解
Aug 15 Javascript
浅谈vux之x-input使用以及源码解读
Nov 04 Javascript
关于React动态加载路由处理的相关问题
Jan 07 Javascript
bootstrap-table+treegrid实现树形表格
Jul 26 Javascript
vue watch监控对象的简单方法示例
Jan 07 Vue.js
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
基于mysql的论坛(7)
2006/10/09 PHP
php最简单的删除目录与文件实现方法
2014/11/28 PHP
php.ini中的request_order推荐设置
2015/05/10 PHP
weiphp微信公众平台授权设置
2016/01/04 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
javascript数字格式化通用类 accounting.js使用
2012/08/24 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
2016/07/22 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
jsonp跨域获取数据的基础教程
2018/07/01 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
2019/07/13 Javascript
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
python访问mysql数据库的实现方法(2则示例)
2016/01/06 Python
使用Python对MySQL数据操作
2017/04/06 Python
pycharm运行出现ImportError:No module named的解决方法
2018/10/13 Python
numpy.where() 用法详解
2019/05/27 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
商务日语专业毕业生求职信
2013/10/26 职场文书
大专生毕业的自我评价
2014/02/06 职场文书
致跳远运动员广播稿
2014/02/11 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
小学生新年寄语
2014/04/03 职场文书
合同协议书格式
2014/04/18 职场文书
婚前协议书范本
2014/10/27 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
《风娃娃》教学反思
2016/02/18 职场文书