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 .ajax 在IE下卡死问题的解决方法
Oct 26 Javascript
JavaScript 组件之旅(二)编码实现和算法
Oct 28 Javascript
HTML中的setCapture和releaseCapture使用介绍
Mar 21 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
Aug 14 Javascript
ie与ff下的event事件使用介绍
Nov 25 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
Mar 06 Javascript
Jquery实现自定义窗口随意的拖拽
Mar 12 Javascript
jQuery标签编辑插件Tagit使用指南
Apr 21 Javascript
JS禁止查看网页源代码的实现方法
Oct 12 Javascript
Angular1.x复杂指令实例详解
Mar 01 Javascript
vue设计一个倒计时秒杀的组件详解
Apr 06 Javascript
原生js canvas实现鼠标跟随效果
Aug 02 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+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
phpQuery占用内存过多的处理方法
2013/11/13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
PHP中实现中文字串截取无乱码的解决方法
2018/05/29 PHP
PHP如何根据文件头检测文件类型实例代码
2018/10/14 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
利用node.js搭建简单web服务器的方法教程
2017/02/20 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
2017/03/08 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
vue给对象动态添加属性和值的实例
2019/09/09 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
Python基于动态规划算法计算单词距离
2015/07/25 Python
python编程开发之日期操作实例分析
2015/11/13 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
Python中利用LSTM模型进行时间序列预测分析的实现
2019/07/26 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
CSS3制作3D立方体loading特效
2020/11/09 HTML / CSS
html Table 表头固定的实现
2019/01/22 HTML / CSS
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
英国名牌服装购物网站:OD’s Designer
2019/09/02 全球购物
期末考试动员演讲稿
2014/01/10 职场文书
20岁生日感言
2014/01/13 职场文书
音乐专业自荐信
2014/02/07 职场文书
三分钟英语演讲稿
2014/04/24 职场文书
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫