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 封装Ajax传递的数据代码
Jun 05 Javascript
预加载css或javascript的js代码
Apr 23 Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
May 30 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
Apr 25 Javascript
js判断数组key是否存在(不用循环)的简单实例
Aug 03 Javascript
js实现上下左右弹框划出效果
Mar 08 Javascript
JavaScript实现随机数生成器(去重)
Oct 13 Javascript
vue将对象新增的属性添加到检测序列的方法
Feb 24 Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
Jul 23 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
Aug 22 Javascript
JS实现页面炫酷的时钟特效示例
Aug 14 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
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
2007/02/11 PHP
PHP 文件上传进度条的两种实现方法的代码
2007/11/25 PHP
php empty函数 使用说明
2009/08/10 PHP
PHP按行读取、处理较大CSV文件的代码实例
2014/04/09 PHP
PHP实现从远程下载文件的方法
2015/03/12 PHP
PHP连接操作access数据库实例
2015/03/30 PHP
PHP如何将log信息写入服务器中的log文件
2015/07/29 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
jQuery防止重复绑定事件的解决方法
2016/05/14 Javascript
小程序实现搜索框
2020/06/19 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
python 自动轨迹绘制的实例代码
2019/07/05 Python
利用python开发app实战的方法
2019/07/09 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
logging level级别介绍
2020/02/21 Python
python如何输出反斜杠
2020/06/18 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
CSS3实现的闪烁跳跃进度条示例(附源码)
2013/08/19 HTML / CSS
css3实现二维码扫描特效的示例
2020/10/29 HTML / CSS
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
Omio葡萄牙:全欧洲低价大巴、火车和航班搜索和比价
2019/02/09 全球购物
荷兰最大的多品牌男装连锁店:Adam Brandstore
2019/12/31 全球购物
小学生春游活动方案
2014/08/20 职场文书
治庸问责心得体会
2014/09/12 职场文书
广告业务员岗位职责
2015/02/13 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
2016七夕情人节感言
2015/12/09 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
八年级语文教学反思
2016/03/03 职场文书