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 空位补零实现代码
Feb 26 Javascript
JQuery Tab选项卡效果代码改进版
Apr 01 Javascript
js中call与apply的用法小结
Dec 28 Javascript
jQuery.form插件的使用及跨域异步上传文件
Apr 27 Javascript
jquery获取复选框checkbox的值的简单实现方法
May 26 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
Nov 25 Javascript
canvas实现图像截取功能
Feb 06 Javascript
微信小程序 支付后台java实现实例
May 09 Javascript
vue-cli 打包使用history模式的后端配置实例
Sep 20 Javascript
JS实现长图上下滚动效果
Mar 19 Javascript
Vue实现移动端拖拽交换位置
Jul 29 Javascript
通过JS判断网页是否为手机打开
Oct 28 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
php抓取https的内容的代码
2010/04/06 PHP
php class类的用法详细总结
2013/10/17 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
做网页的一些技巧(续)
2007/02/01 Javascript
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
JavaScript数据类型学习笔记
2016/01/25 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
jQuery简单自定义图片轮播插件及用法示例
2016/11/21 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
TensorFlow入门使用 tf.train.Saver()保存模型
2018/04/24 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
详解python3中zipfile模块用法
2018/06/18 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
Python从Excel中读取日期一列的方法
2018/11/28 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
解决Keras使用GPU资源耗尽的问题
2020/06/22 Python
matplotlib交互式数据光标实现(mplcursors)
2021/01/13 Python
汽车专业人才自我鉴定范文
2013/12/29 职场文书
平面设计专业大学生职业规划书
2014/03/12 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
初中地理教学反思
2016/02/19 职场文书
高中生物教学反思
2016/02/20 职场文书