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 相关文章推荐
ExtJs3.0中Store添加 baseParams 的Bug
Mar 10 Javascript
jquery一句话全选/取消全选
Mar 01 Javascript
iframe子页面获取父页面元素的方法
Nov 05 Javascript
js 去除字符串第一位逗号的方法
Jun 07 Javascript
jquery删除指定子元素代码实例
Jan 13 Javascript
Jquery Easyui表单组件Form使用详解(30)
Dec 19 Javascript
jQuery实现字符串全部替换的方法【推荐】
Mar 09 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
Sep 07 Javascript
mpvue项目中使用第三方UI组件库的方法
Sep 30 Javascript
深入理解vue中的slot与slot-scope
Apr 22 Javascript
express中static中间件的具体使用方法
Oct 17 Javascript
Layui表格监听行单双击事件讲解
Nov 14 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
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
2016/10/08 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
script标签的 charset 属性使用说明
2010/12/04 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
JS画5角星方法介绍
2013/09/17 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
javascript实现全角半角检测的方法
2015/07/23 Javascript
js改变style样式和css样式的简单实例
2016/06/28 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
2020/07/21 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
[02:04]2018DOTA2亚洲邀请赛Secret赛前采访
2018/04/03 DOTA
[01:11:32]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python卸载模块的方法汇总
2016/06/07 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
Django 路由层URLconf的实现
2019/12/30 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
介绍一下grep命令的使用
2015/06/12 面试题
修辞手法有哪些?
2019/08/29 职场文书
作文之亲情600字
2019/09/23 职场文书
导游词之阆中古城
2019/12/23 职场文书
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS
Python绘画好看的星空图
2022/03/17 Python