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 设计模式 安全沙箱模式
Sep 24 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
Mar 01 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
Mar 11 Javascript
jQuery实现的输入框选择时间插件用法实例
Feb 28 Javascript
$.extend 的一个小问题
Jun 18 Javascript
基于jQuery实现滚动切换效果
Dec 02 Javascript
JavaScript中双符号的运算详解
Mar 12 Javascript
angularjs2中父子组件的数据传递的实例代码
Jul 05 Javascript
基于jQuery实现无缝轮播与左右点击效果
May 13 jQuery
关于自定义Egg.js的请求级别日志详解
Dec 12 Javascript
MockJs结合json-server模拟后台数据
Aug 26 Javascript
详解JavaScript中Arguments对象用途
Aug 30 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
网站防止被刷票的一些思路与方法
2015/01/08 PHP
php数组键名技巧小结
2015/02/17 PHP
PHP房贷计算器实例代码,等额本息,等额本金
2017/04/01 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
javascript instanceof 与typeof使用说明
2010/01/11 Javascript
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
2013/11/05 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
详解plotly.js 绘图库入门使用教程
2018/02/23 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
详解python 内存优化
2020/08/17 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
联想瑞士官方网站:Lenovo Switzerland
2017/11/19 全球购物
自荐书范文范例
2014/02/13 职场文书
老人祝寿主持词
2014/03/28 职场文书
《长相思》听课反思
2014/04/10 职场文书
干部对照检查材料范文
2014/08/26 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
html粘性页脚的具体使用
2022/01/18 HTML / CSS
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python