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 相关文章推荐
显示今天的日期js代码(阳历和农历)
Sep 30 Javascript
JavaScript类型系统之基本数据类型与包装类型
Jan 06 Javascript
js实现分割上传大文件
Mar 09 Javascript
jQuery实现三级菜单的代码
May 09 Javascript
JavaScript中函数声明与函数表达式的区别详解
Aug 18 Javascript
Ajax与服务器(JSON)通信实例代码
Nov 05 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
May 05 Javascript
微信小程序 侧滑删除(左滑删除)
May 23 Javascript
在Create React App中启用Sass和Less的方法示例
Jan 16 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
Jul 31 jQuery
vue-router的hooks用法详解
Jun 08 Javascript
JavaScript实现缓动动画
Nov 25 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 curl基本操作详解
2013/07/23 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
php抽象类用法实例分析
2015/07/07 PHP
php正则表达式学习笔记
2015/11/13 PHP
PHP中FTP相关函数小结
2016/07/15 PHP
php集成动态口令认证
2016/07/21 PHP
精心挑选的15款优秀jQuery 本特效插件和教程
2012/08/06 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
JavaScript中数组去重的5种方法
2020/07/04 Javascript
跟老齐学Python之正规地说一句话
2014/09/28 Python
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
Python实现简单http服务器
2018/04/12 Python
python numpy 一维数组转变为多维数组的实例
2018/07/02 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
Python面向对象进阶学习
2019/05/21 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
详细分析Python可变对象和不可变对象
2020/07/09 Python
Python中logger日志模块详解
2020/08/04 Python
一站式跨境收款解决方案:Payoneer(派安盈)
2018/09/06 全球购物
高级3D打印市场:Gambody
2019/12/26 全球购物
电子商务个人职业生涯规划范文
2014/02/12 职场文书
给妈妈洗脚活动方案
2014/08/16 职场文书
安全生产标语大全
2014/10/06 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
领导欢迎词致辞
2015/01/23 职场文书
党员转正大会主持词
2015/07/02 职场文书
教师节座谈会主持词
2015/07/03 职场文书
2015年秋学期师德师风建设工作总结
2015/10/23 职场文书
2016父亲节感恩话语
2015/12/09 职场文书