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实现UrlEncode和UrlDecode的脚本代码
Jul 23 Javascript
javascript插入样式实现代码
Feb 22 Javascript
jQuery div层的放大与缩小简单实现代码
Mar 28 Javascript
JS 删除字符串最后一个字符的实现代码
Feb 20 Javascript
js实现人才网站职位选择功能的方法
Aug 14 Javascript
AngularJS指令用法详解
Nov 02 Javascript
浅谈Vue 初始化性能优化
Aug 31 Javascript
Vue+webpack+Element 兼容问题总结(小结)
Aug 16 Javascript
vue数据操作之点击事件实现num加减功能示例
Jan 19 Javascript
JS实现的新闻列表自动滚动效果示例
Jan 30 Javascript
微信小程序如何实现全局重新加载
Jun 05 Javascript
layui在form表单页面通过Validform加入简单验证的方法
Sep 06 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 项目的方法
2007/01/02 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
jQuery之选项卡的简单实现
2014/02/28 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
2014/09/24 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
2017/03/27 Javascript
HTML5开发Kinect体感游戏的实例应用
2017/09/18 Javascript
jQuery实现可兼容IE6的遮罩功能详解
2017/09/19 jQuery
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
js的继承方法小结(prototype、call、apply)(推荐)
2019/04/17 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
JS倒计时两种实现方式代码实例
2020/07/27 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
pycharm远程调试openstack的图文教程
2017/11/21 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
2019/06/17 Python
Python使用指定端口进行http请求的例子
2019/07/25 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
Django框架安装方法图文详解
2019/11/04 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
html5 初试 indexedDB(推荐)
2016/07/21 HTML / CSS
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
汽车技术服务与营销专业推荐信
2013/11/29 职场文书
优秀的计算机专业求职信范文
2013/12/27 职场文书
开工仪式主持词
2014/03/20 职场文书
毕业班联欢会主持词
2014/03/27 职场文书
机关办公室岗位职责
2014/04/16 职场文书
大学生学习十八届五中全会精神心得体会
2016/01/05 职场文书