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 代码的方法小结
Jul 16 Javascript
fancybox modal的完美解决(右上的X)
Oct 30 Javascript
js日期联动示例
May 02 Javascript
Javascript解析URL方法详解
Dec 05 Javascript
angularjs 处理多个异步请求方法汇总
Jan 06 Javascript
jQuery插件StickUp实现网页导航置顶
Apr 12 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
May 04 Javascript
IE浏览器下PNG相关功能
Jul 05 Javascript
node+experss实现爬取电影天堂爬虫
Nov 20 Javascript
微信小程序动态的加载数据实例代码
Apr 14 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
Sep 26 Javascript
JavaScript格式化json和xml的方法示例
Jan 22 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 无限级数据JSON格式及JS解析
2010/07/17 PHP
php实现encode64编码类实例
2015/03/24 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
php实现算术验证码功能
2018/12/05 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
jQuery Ajax使用 全解析
2010/12/15 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
用js小类库获取浏览器的高度和宽度信息
2012/01/15 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
jQuery中的siblings()是什么意思(推荐)
2016/12/29 Javascript
js Canvas绘制圆形时钟效果
2017/02/17 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
vue+axios实现post文件下载
2019/09/25 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
如何用Python实现简单的Markdown转换器
2018/07/16 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
Python读取csv文件实例解析
2019/12/30 Python
dpn网络的pytorch实现方式
2020/01/14 Python
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
SQL数据库笔试题
2016/03/08 面试题
公司同意接收函
2014/01/13 职场文书
文化与传播毕业生求职信
2014/03/09 职场文书
经济贸易系求职信
2014/08/04 职场文书
英镑符号 £
2022/02/17 杂记
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers
PostgreSQL怎么创建分区表详解
2022/06/25 PostgreSQL