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 相关文章推荐
javascript的字符串按引用复制和传递,按值来比较介绍与应用
Dec 28 Javascript
jquery操作checked属性以及disabled属性的多种方法
Jun 20 Javascript
javascript制作游戏开发碰撞检测的封装代码
Mar 31 Javascript
Jquery简单分页实现方法
Jul 24 Javascript
Angular2平滑升级到Angular4的步骤详解
Mar 29 Javascript
JavaScript中Require调用js的实例分享
Oct 27 Javascript
vue实现裁切图片同时实现放大、缩小、旋转功能
Mar 02 Javascript
vue计算属性和监听器实例解析
May 10 Javascript
vue-router实现嵌套路由的讲解
Jan 19 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
Apr 15 Javascript
iSlider手机端图片滑动切换插件使用详解
Dec 24 Javascript
js实现点赞效果
Mar 16 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
php cli 方式 在crotab中运行解决
2010/02/08 PHP
php 读取shell管道传输过来的内容
2010/03/01 PHP
php实现的返回数据格式化类实例
2014/09/22 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
document对象execCommand的command参数介绍
2006/08/01 Javascript
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
AngularJS包括详解及示例代码
2016/08/17 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
利用python实现PSO算法优化二元函数
2019/11/13 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
python实现简单的tcp 文件下载
2020/09/16 Python
Python测试框架:pytest学习笔记
2020/10/20 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
八年级数学教学反思
2014/01/31 职场文书
业务部门经理岗位职责
2014/02/23 职场文书
家长会主持词
2014/03/26 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
六年级语文下册教学计划
2015/01/22 职场文书
师德师风培训感言
2015/08/03 职场文书
教师听课学习心得体会
2016/01/15 职场文书
SQLServer之常用函数总结详解
2021/08/30 SQL Server