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事件Event元素(兼容IE,Firefox,Chorme)
Nov 01 Javascript
javascript中声明函数的方法及调用函数的返回值
Jul 22 Javascript
javascript实现可拖动变色并关闭层窗口实例
May 15 Javascript
Javascript 计算字符串在localStorage中所占字节数
Oct 21 Javascript
JS获取及验证开始结束日期的方法
Aug 20 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 jQuery
开发一个Parcel-vue脚手架工具(详细步骤)
Sep 22 Javascript
JavaScript变量提升和严格模式实例分析
Jan 27 Javascript
jquery中attr、prop、data区别与用法分析
Sep 25 jQuery
Weex开发之WEEX-EROS开发踩坑(小结)
Oct 16 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
Nov 06 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
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+dbfile开发小型留言本
2006/10/09 PHP
mysql 性能的检查和优化方法
2009/06/21 PHP
PHP 解决session死锁的方法
2013/06/20 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
最好用的省市二级联动 原生js实现你值得拥有
2013/09/22 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
基于BootStrap环境写jQuery tabs插件
2016/07/12 Javascript
JavaScript实现图片懒加载(Lazyload)
2016/11/28 Javascript
Node.js与Sails redis组件的使用教程
2017/02/14 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
Angular4学习笔记之新建项目的方法
2017/07/18 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
python连接sql server乱码的解决方法
2013/01/28 Python
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
Python+OpenCV图片局部区域像素值处理改进版详解
2019/01/23 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
Python pickle模块实现对象序列化
2019/11/22 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
详解tensorflow之过拟合问题实战
2020/11/01 Python
flask项目集成swagger的方法
2020/12/09 Python
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
数控技术学生的自我评价
2014/02/15 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
中考标语大全
2014/06/05 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
班主任经验交流材料
2014/12/16 职场文书
浅谈Web Storage API的使用
2021/06/23 Javascript