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 相关文章推荐
JS原型对象通俗&quot;唱法&quot;
Dec 27 Javascript
获取内联和链接中的样式(js代码)
Apr 11 Javascript
javascript教程之不完整的继承(js原型链)
Jan 13 Javascript
webpack+vue.js实现组件化详解
Oct 12 Javascript
强大的JavaScript响应式图表Chartist.js的使用
Sep 13 Javascript
新版小程序登录授权的方法
Dec 12 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
详解Vue中的基本语法和常用指令
Jul 23 Javascript
ES6 Object.assign()的用法及其使用
Jan 18 Javascript
jquery向后台提交数组的代码分析
Feb 20 jQuery
详解element-ui 表单校验 Rules 配置 常用黑科技
Jul 11 Javascript
vue下拉刷新组件的开发及slot的使用详解
Dec 23 Vue.js
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
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
PHP加密解密类实例分析
2015/04/20 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
jQuery操作checkbox选择(list/table)
2013/04/07 Javascript
jQuery简单实现图片预加载
2015/04/20 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
jQuery Chosen通用初始化
2017/03/07 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
详解小程序云开发攻略(解决最棘手的问题)
2019/09/30 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
Python实现简单截取中文字符串的方法
2015/06/15 Python
分析Python读取文件时的路径问题
2018/02/11 Python
Sanic框架应用部署方法详解
2018/07/18 Python
python tkinter图形界面代码统计工具
2019/09/18 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
CSS3截取字符串实例代码【推荐】
2018/06/07 HTML / CSS
大学生学习生活的自我评价
2013/11/01 职场文书
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
小学生安全演讲稿
2014/04/25 职场文书
市场营销战略计划书
2014/05/06 职场文书
奥巴马胜选演讲稿
2014/05/15 职场文书
绿色环保标语
2014/06/12 职场文书
纪念九一八事变演讲稿:勿忘国耻
2014/09/14 职场文书
英文慰问信
2015/02/14 职场文书
2015年世界环境日活动方案
2015/05/05 职场文书
2015年科协工作总结
2015/05/19 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
js实现模拟购物商城案例
2021/05/18 Javascript