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 相关文章推荐
扩展easyui.datagrid,添加数据loading遮罩效果代码
Nov 02 Javascript
深入理解JavaScript系列(16) 闭包(Closures)
Apr 12 Javascript
基于jquery的文章中所有图片width大小批量设置方法
Aug 01 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
Sep 04 Javascript
Javascript变量的作用域和作用域链详解
Apr 02 Javascript
JavaScript与jQuery实现的闪烁输入效果
Feb 18 Javascript
JavaScript调试的多个必备小Tips
Jan 15 Javascript
Node.js查找当前目录下文件夹实例代码
Mar 07 Javascript
利用Blob进行文件上传的完整步骤
Aug 02 Javascript
vuejs移动端实现div拖拽移动
Jul 25 Javascript
如何用JavaScript实现一个数组惰性求值库
May 05 Javascript
详解Vue中$props、$attrs和$listeners的使用方法
Feb 18 Vue.js
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
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
Session保存到数据库的php类分享
2011/10/24 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
javascript读取xml
2006/11/04 Javascript
Javascript 模式实例 观察者模式
2009/10/24 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
使用delegate方法为一个tr标签加一个链接
2014/06/27 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
给vue项目添加ESLint的详细步骤
2017/09/29 Javascript
js笔试题-接收get请求参数
2019/06/15 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
vue实现购物车的小练习
2020/12/21 Vue.js
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
Python迭代器定义与简单用法分析
2018/04/30 Python
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
Python格式化输出字符串方法小结【%与format】
2018/10/29 Python
python 修改本地网络配置的方法
2019/08/14 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
Pytorch中.new()的作用详解
2020/02/18 Python
python实现单机五子棋
2020/08/28 Python
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
销售工作人员的自我评价分享
2013/11/10 职场文书
优秀村官事迹材料
2014/01/10 职场文书
便利店投资的创业计划书
2014/01/12 职场文书
2014物价局群众路线对照检查材料思想汇报
2014/09/21 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
2015初中团委工作总结
2015/07/28 职场文书
丧事答谢词大全
2015/09/30 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
创业计划书之美甲店
2019/09/20 职场文书
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python