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 相关文章推荐
jQuery遍历Table应用示例
Apr 09 Javascript
js数组去重的方法汇总
Jul 29 Javascript
jQuery满意度星级评价插件特效代码分享
Aug 19 Javascript
基于jQuery Ajax实现上传文件
Mar 24 Javascript
RequireJS使用注意细节
May 15 Javascript
浅谈jquery点击label触发2次的问题
Jun 12 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
Dec 08 Javascript
详解原生js实现offset方法
Jun 15 Javascript
使用jQuery实现简单的tab框实例
Aug 22 jQuery
Vue-cli-webpack搭建斗鱼直播步骤详解
Nov 17 Javascript
React Native基础入门之初步使用Flexbox布局
Jul 02 Javascript
JavaScript实现拖拽和缩放效果
Aug 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
如何去掉文章里的 html 语法
2006/10/09 PHP
PHP+APACHE实现用户论证的方法
2006/10/09 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
2014/11/18 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
php自定义时间转换函数示例
2016/12/07 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
JavaScript中prototype为对象添加属性的误区介绍
2013/10/15 Javascript
Node.js插件的正确编写方式
2014/08/03 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
javascript滚轮控制模拟滚动条
2016/10/19 Javascript
jquery心形点赞关注效果的简单实现
2016/11/14 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
vue开发简单上传图片功能
2020/06/30 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
python使用cookie库操保存cookie详解
2014/03/03 Python
python 编码规范整理
2018/05/05 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
完美解决Django2.0中models下的ForeignKey()问题
2020/05/19 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
abstract class和interface有什么区别
2013/08/04 面试题
管理科学大学生求职信
2013/11/13 职场文书
槐乡的孩子教学反思
2014/04/27 职场文书
欢送会主持词
2015/07/01 职场文书
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS
Java 超详细讲解IO操作字节流与字符流
2022/03/25 Java/Android
代码复现python目标检测yolo3详解预测
2022/05/06 Python
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android