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 相关文章推荐
Apply an AutoFormat to an Excel Spreadsheet
Jun 12 Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
Apr 07 Javascript
js 将json字符串转换为json对象的方法解析
Nov 13 Javascript
JavaScript中利用各种循环进行遍历的方式总结
Nov 10 Javascript
Bootstrap每天必学之折叠(Collapse)插件
Apr 25 Javascript
前端自动化开发之Node.js的环境搭建教程
Apr 01 Javascript
JavaScript用200行代码制作打飞机小游戏实例
Jun 21 Javascript
Vue框架TypeScript装饰器使用指南小结
Feb 18 Javascript
VUE实现移动端列表筛选功能
Aug 23 Javascript
BootstrapValidator验证用户名已存在(ajax)
Nov 08 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
Mar 02 Javascript
Vue看了就会的8个小技巧
Jan 21 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
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
php中时间函数date及常用的时间计算
2017/05/12 PHP
Ext.MessageBox工具类简介
2009/12/10 Javascript
javascript常用对话框小集
2013/09/13 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
Angularjs 创建可复用组件实例代码
2016/10/09 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
2017/11/08 jQuery
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
微信小程序 自定义复选框实现代码实例
2019/09/04 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
Javascript节流函数throttle和防抖函数debounce
2020/12/03 Javascript
[56:56]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
Python实现二维有序数组查找的方法
2016/04/27 Python
Python快速排序算法实例分析
2017/11/29 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
python动态进度条的实现代码
2019/07/03 Python
python的列表List求均值和中位数实例
2020/03/03 Python
Python3标准库之threading进程中管理并发操作方法
2020/03/30 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
大学生社会实践自我鉴定
2014/03/24 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
党纪处分决定书
2015/06/24 职场文书
巴黎圣母院读书笔记
2015/06/26 职场文书
交通安全主题班会
2015/08/12 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
党性修养心得体会2016
2016/01/21 职场文书
Mysql数据库group by原理详解
2022/07/07 MySQL