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 相关文章推荐
直接生成打开窗口代码,不必下载
May 14 Javascript
innerText和innerHTML 一些问题分析
May 18 Javascript
Javascript中正则表达式的全局匹配模式分析
Apr 26 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
Jan 03 Javascript
你必须知道的JavaScript 变量命名规则详解
May 07 Javascript
从js向Action传中文参数出现乱码问题的解决方法
Dec 29 Javascript
IE中document.createElement的iframe无法设置属性name的解决方法
Sep 14 Javascript
js精确的加减乘除实例
Nov 14 Javascript
vue组件(全局,局部,动态加载组件)
Sep 02 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
Sep 30 Javascript
浅谈Node 异步IO和事件循环
May 05 Javascript
vue+Element中table表格实现可编辑(select下拉框)
May 21 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 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
PHP生成可点击刷新的验证码简单示例
2016/05/13 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
2011/02/24 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
深入解析JavaScript的闭包机制
2015/10/20 Javascript
用jQuery的AJax实现异步访问、异步加载
2016/11/02 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
微信禁止下拉查看URL的处理方法
2017/09/28 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
Django自定义分页效果
2017/06/27 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
python 爬取学信网登录页面的例子
2019/08/13 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
Deux par Deux官方网站:设计师童装
2020/01/03 全球购物
一套.net面试题及答案
2016/11/02 面试题
网络维护管理员的自我评价分享
2013/11/11 职场文书
自荐信格式写作方法有哪些呢
2013/11/20 职场文书
大专毕业生自我鉴定
2013/11/21 职场文书
项目采购员岗位职责
2014/04/15 职场文书
企业法人授权委托书
2014/09/25 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
2022/04/24 Vue.js