JavaScript实现各种排序的代码详解


Posted in Javascript onAugust 28, 2017

冒泡排序

function Bubble(arr){
    var temp;
    for(var i=0;i<arr.length-1;i++){
      for(var j=i+1;j<arr.length;j++){
        if(arr[i]>arr[j]){
          temp=arr[i];
          arr[i]=arr[j];
          arr[j]=temp;
        }
      }
    }
    return arr;
  }
  console.log(Bubble([2,5,1,0,6,2]))  //[0,1,2,2,5,6]

选择排序

function selctor(arr){
    var min;
    for(var i=0;i<arr.length-1;i++){
      min=i;
      //依次找到为最小值的索引
      for(var j=i+1;j<arr.length;j++){
        if(arr[min]>arr[j]){
          min=j;
        }
      }
      //如果最小值不在当前位置上 就交换到位置i
      if(min!=i){
        swap(arr,min,i)
      }
    }
    return arr
  }
  function swap(arr,index1,index2) {
    var temp=arr[index1];
    arr[index1]=arr[index2];
    arr[index2]=temp;
  }

插入排序

function insert(arr){
    var j,key;
   for(var i=1;i<arr.length;i++){
     j=i;
     key=arr[i];
     while(--j>-1){
       if(arr[j]>key) {
         arr[j + 1] = arr[j];
       }else{
         break;
       }
     }
     arr[j+1]=key;
   }
   return arr
  }

总结

以上所述是小编给大家介绍的JavaScript实现各种排序的代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
Apr 20 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
Aug 12 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
Feb 13 Javascript
js实现带按钮的上下滚动效果
May 12 Javascript
JavaScript中的anchor()方法使用详解
Jun 08 Javascript
Bootstrap自定义文件上传下载样式
May 26 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Dec 14 Javascript
vue.js的computed,filter,get,set的用法及区别详解
Mar 08 Javascript
angular5 httpclient的示例实战
Mar 12 Javascript
js 闭包深入理解与实例分析
Mar 19 Javascript
JS实现省市县三级下拉联动
Apr 10 Javascript
javascript中Set、Map、WeakSet、WeakMap区别
Dec 24 Javascript
JS如何设置元素样式的方法示例
Aug 28 #Javascript
weex slider实现滑动底部导航功能
Aug 28 #Javascript
js使用原型对象(prototype)需要注意的地方
Aug 28 #Javascript
vue2.0移除或更改的一些东西(移除index key)
Aug 28 #Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
Aug 28 #Javascript
JS实现图片手风琴效果
Apr 17 #Javascript
vue服务端渲染的实例代码
Aug 28 #Javascript
You might like
用文本作数据处理
2006/10/09 PHP
php cout&amp;lt;&amp;lt;的一点看法
2010/01/24 PHP
php递归使用示例(php递归函数)
2014/02/14 PHP
用PHP代码给图片加水印
2015/07/01 PHP
php函数连续调用实例分析
2015/07/30 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
jquery+php实现搜索框自动提示
2014/11/28 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
2015/11/18 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
从零开始搭建vue移动端项目到上线的步骤
2018/10/15 Javascript
一次让你了解全部JavaScript的作用域
2019/06/24 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
Python中基础的socket编程实战攻略
2016/06/01 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
django 数据库 get_or_create函数返回值是tuple的问题
2020/05/15 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
周年庆典主持词
2014/04/02 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
运动会800米赞词
2015/07/22 职场文书
详解Django中 render() 函数的使用方法
2021/04/22 Python