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设置FieldSet展开与收缩
May 15 Javascript
Tips 带三角可关闭的文字提示
Oct 06 Javascript
理解JavaScript中的对象 推荐
Jan 09 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
Oct 17 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
Sep 15 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
May 09 Javascript
js实现复选框的全选和取消全选效果
Jan 03 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
May 08 Javascript
javascript的this关键字详解
May 20 Javascript
使用webpack将ES6转化ES5的实现方法
Oct 13 Javascript
vue实现评价星星功能
Jun 30 Javascript
实现vuex原理的示例
Oct 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
header()函数使用说明
2006/11/23 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
2013/08/07 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
通过javascript设置css属性的代码
2009/12/28 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
2011/06/27 Javascript
用Javascript评估用户输入密码的强度(Knockout版)
2011/11/30 Javascript
LABjs、RequireJS、SeaJS的区别
2014/03/04 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
2017/01/21 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
2017/05/24 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
Vue 设置axios请求格式为form-data的操作步骤
2019/10/29 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
js+canvas实现纸牌游戏
2020/03/16 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
JS实现纸牌发牌动画
2021/01/19 Javascript
python 构造三维全零数组的方法
2018/11/12 Python
小学教师自我鉴定
2013/11/07 职场文书
探矿工程师自荐信
2014/01/24 职场文书
小学生新年寄语
2014/04/03 职场文书
2014年个人思想工作总结
2014/11/27 职场文书
高三语文复习计划
2015/01/19 职场文书
解析MySQL binlog
2021/06/11 MySQL
基于angular实现树形二级表格
2021/10/16 Javascript
vue动态绑定style样式
2022/04/20 Vue.js
2022年显卡天梯图(6月更新)
2022/06/17 数码科技