JS实现最简单的冒泡排序算法


Posted in Javascript onFebruary 15, 2017

1. 算法步骤

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

2. 动图演示

JS实现最简单的冒泡排序算法

3. 什么时候最快

当输入的数据已经是正序时(都已经是正序了,我还要你冒泡排序有何用啊)。

4. 什么时候最慢

当输入的数据是反序时(写一个 for 循环反序输出数据不就行了,干嘛要用你冒泡排序呢,我是闲的吗)。

5. JavaScript 代码实现

function bubbleSort(arr) {
 var len = arr.length;
 for (var i = 0; i < len; i++) {
  for (var j = 0; j < len - 1 - i; j++) {
   if (arr[j] > arr[j+1]) {  // 相邻元素两两对比
    var temp = arr[j+1];  // 元素交换
    arr[j+1] = arr[j];
    arr[j] = temp;
   }
  }
 }
 return arr;
}

以上所述是小编给大家介绍的JS实现最简单的冒泡排序算法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript CSS修改学习第二章 样式
Feb 19 Javascript
根据出生日期自动取得星座的js代码
Jul 20 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
Oct 17 Javascript
javascript中sort() 方法使用详解
Aug 30 Javascript
简介AngularJS中$http服务的用法
Feb 06 Javascript
你有必要知道的10个JavaScript难点
Jul 25 Javascript
vue2.0 根据状态值进行样式的改变展示方法
Mar 13 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
Sep 13 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
Apr 23 Javascript
微信小程序实现禁止分享代码实例
Oct 19 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
Nov 19 Javascript
js实现弹幕墙效果
Dec 10 Javascript
javascript设计模式之单体模式学习笔记
Feb 15 #Javascript
JavaScript中的toString()和toLocaleString()方法的区别
Feb 15 #Javascript
javascript设计模式之模块模式学习笔记
Feb 15 #Javascript
javascript设计模式之策略模式学习笔记
Feb 15 #Javascript
BootStrap实现带关闭按钮功能
Feb 15 #Javascript
Jil,高效的json序列化和反序列化库
Feb 15 #Javascript
Bootstrap模态框使用详解
Feb 15 #Javascript
You might like
用PHP实现的生成静态HTML速度快类库
2007/03/31 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
浅析JavaScript中的常用算法与函数
2013/11/21 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
CSS或者JS实现鼠标悬停显示另一元素
2016/01/22 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
微信小程序实现动态获取元素宽高的方法分析
2018/12/10 Javascript
微信小程序实现单选选项卡切换效果
2020/06/19 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
八大排序算法的Python实现
2021/01/28 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
Python Opencv实现图像轮廓识别功能
2020/03/23 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
用python写爬虫简单吗
2020/07/28 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
受欢迎的大学生自我评价
2013/12/05 职场文书
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
关于旅游的活动方案
2014/08/15 职场文书
对照检查剖析材料
2014/09/30 职场文书
大学学生个人总结
2015/02/15 职场文书
教师思想工作总结2015
2015/05/13 职场文书
消防验收申请报告
2015/05/15 职场文书
企业党建工作总结2015
2015/05/26 职场文书
2015年卫生局工作总结
2015/07/24 职场文书
高一数学教学反思
2016/02/18 职场文书
三好学生评选事迹材料(2016精选版)
2016/02/25 职场文书
Vue如何清空对象
2022/03/03 Vue.js