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 相关文章推荐
JS 对象介绍
Jan 20 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
Jul 26 Javascript
jquery获取tagName再进行判断
May 29 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
Aug 01 Javascript
浅析AngularJS中的生命周期和延迟处理
Jun 18 Javascript
javascript+html5+css3自定义弹出窗口效果
Oct 26 Javascript
15个顶级开源JavaScript框架和库
Oct 10 Javascript
VueCli3构建TS项目的方法步骤
Nov 07 Javascript
实现一个 Vue 吸顶锚点组件方法
Jul 10 Javascript
vue实现图片预览组件封装与使用
Jul 13 Javascript
VUE兄弟组件传值操作实例分析
Oct 26 Javascript
如何用JavaScript实现一个数组惰性求值库
May 05 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
main.php
2006/12/09 PHP
关于PHP5 Session生命周期介绍
2010/03/02 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
2021/01/20 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
JavaScript 过滤关键字
2017/03/20 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
vue之浏览器存储方法封装实例
2018/03/15 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
2019/08/20 Javascript
vue-property-decorator用法详解
2019/12/12 Javascript
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
windows下python安装小白入门教程
2018/09/18 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
详解重置Django migration的常见方式
2019/02/15 Python
初探利用Python进行图文识别(OCR)
2019/02/26 Python
python 画3维轨迹图并进行比较的实例
2019/12/06 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
PHP开发工程师面试问题集锦
2012/11/01 面试题
MYSQL支持事务吗
2013/08/09 面试题
中学教师岗位职责
2013/11/26 职场文书
2014年上半年工作自我评价
2014/01/18 职场文书
超市促销活动方案
2014/03/05 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python