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网页关键字高亮代码
Jul 30 Javascript
js 单引号 传递方法
Jun 22 Javascript
JavaScript写的一个DIV 弹出网页对话框
Aug 14 Javascript
jquery的键盘事件修改代码
Feb 24 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
Jan 15 Javascript
JSONP跨域请求
Mar 02 Javascript
分享十三个最佳JavaScript数据网格库
Apr 07 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
Apr 13 Javascript
微信小程序“摇一摇”的实例代码
Jul 20 Javascript
利用d3.js实现蜂巢图表带动画效果
Sep 03 Javascript
vue-resource post数据时碰到Django csrf问题的解决
Mar 13 Javascript
es6函数之严格模式用法实例分析
Mar 17 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项目打包方法
2008/02/18 PHP
PHP XML操作类DOMDocument
2009/12/16 PHP
php判断变量类型常用方法
2012/04/24 PHP
探讨PHP中OO之静态关键字以及类常量的详解
2013/06/07 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
javascript 读取图片文件的大小
2009/06/25 Javascript
JavaScript Timer实现代码
2010/02/17 Javascript
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
Ajax实现不刷新取最新商品
2017/03/01 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
2018/08/14 Javascript
使用vue-cli webpack 快速搭建项目的代码
2018/11/21 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
[01:38]完美世界DOTA2联赛(PWL)宣传片:第一站
2020/10/26 DOTA
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
django定期执行任务(实例讲解)
2017/11/03 Python
Python实战之制作天气查询软件
2019/05/14 Python
Django分页功能的实现代码详解
2019/07/29 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
Django高并发负载均衡实现原理详解
2020/04/04 Python
numpy的Fancy Indexing和array比较详解
2020/06/11 Python
Python爬虫开发与项目实战
2020/12/16 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
大学生四年生活自我鉴定
2013/11/21 职场文书
执行力心得体会
2013/12/31 职场文书
六月份红领巾广播稿
2014/02/03 职场文书
《在山的那边》教学反思
2014/02/23 职场文书
起诉书范文
2015/05/20 职场文书
大学生活委员竞选稿
2015/11/21 职场文书