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监测ActiveX控件是否已经安装过的代码
Sep 02 Javascript
jquery键盘事件使用介绍
Nov 01 Javascript
自定义刻度jQuery进度条及插件
Sep 02 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
Feb 25 Javascript
基于jquery实现表格内容筛选功能实例解析
May 09 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
Apr 27 Javascript
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
JS数组操作中的经典算法实例讲解
Jul 26 Javascript
微信小程序实现上传图片功能
May 28 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
Sep 16 Javascript
微信小程序地图实现展示线路
Jul 29 Javascript
vue中的计算属性和侦听属性
Nov 06 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中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
PHP引用符&amp;的用法详细解析
2013/08/22 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
JavaScript中的对象化编程
2008/01/16 Javascript
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
2013/01/24 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
js动态创建及移除div的方法
2015/06/03 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
Vue.js render方法使用详解
2017/04/05 Javascript
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
python操作mysql数据库
2017/03/05 Python
Python中函数及默认参数的定义与调用操作实例分析
2017/07/25 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
Python中的枚举类型示例介绍
2019/01/09 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
俄语专业毕业生推荐信
2013/10/28 职场文书
毕业学生推荐信
2013/12/01 职场文书
创业计划书如何吸引他人眼球
2014/01/10 职场文书
舞蹈毕业生的自我评价
2014/03/05 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle