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 base64编码实现代码
Dec 02 Javascript
js图片跟随鼠标移动代码
Nov 26 Javascript
Angularjs 制作购物车功能实例代码
Sep 14 Javascript
JS中with的替代方法与String中的正则方法详解
Dec 23 Javascript
jQuery Ajax实现跨域请求
Jan 21 Javascript
jQuery实现元素的插入
Feb 27 Javascript
Javascript实现数组中的元素上下移动
Apr 28 Javascript
简单的Vue异步组件实例Demo
Dec 27 Javascript
Nuxt.js实战详解
Jan 18 Javascript
webpack打包js的方法
Mar 12 Javascript
vue项目中公用footer组件底部位置的适配问题
May 10 Javascript
js实现随机8位验证码
Jul 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
PHP动态图像的创建
2006/10/09 PHP
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
php htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
分享php邮件管理器源码
2016/01/06 PHP
php打包网站并在线压缩为zip
2016/02/13 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
JS实现日期加减的方法
2013/11/29 Javascript
js给页面加style无效果的解决方法
2014/01/20 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
Vue2.0 事件的广播与接收(观察者模式)
2018/03/14 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
JavaScript 生成唯一ID的几种方式
2021/02/19 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
利用Python绘制数据的瀑布图的教程
2015/04/07 Python
Python3实现并发检验代理池地址的方法
2016/09/18 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
2017/05/23 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
详解Python中的type和object
2018/08/15 Python
python Selenium 库的使用技巧
2020/10/16 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
python连接mongodb数据库操作数据示例
2020/11/30 Python
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
车库门开启器、遥控器和零件:Chamberlain
2019/04/09 全球购物
简单叙述一下MYSQL的优化
2016/05/09 面试题
药品质量检测应届生求职信
2013/11/14 职场文书
党员自我剖析材料
2014/08/31 职场文书
结婚保证书
2015/01/16 职场文书
Win11快速关闭所有广告推荐
2022/04/19 数码科技