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实现select添加实现后台权限添加的效果
May 28 Javascript
Js Jquery创建一个弹出层可加载一个页面
May 08 Javascript
JS组件Bootstrap实现图片轮播效果
May 16 Javascript
js中判断变量类型函数typeof的用法总结
Aug 09 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
Jan 04 Javascript
angularjs点击图片放大实现上传图片预览
Feb 24 Javascript
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
Mar 21 jQuery
Vue.js对象转换实例
Jun 07 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
Mar 01 Javascript
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
vue使用ajax获取后台数据进行显示的示例
Aug 09 Javascript
使用Typescript开发微信小程序的步骤详解
Jan 12 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
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
一步一步学习PHP(7) php 字符串相关应用
2010/03/05 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
php实现字符串翻转的方法
2015/03/27 PHP
php 类自动载入的方法
2015/06/03 PHP
php查询操作实现投票功能
2016/05/09 PHP
Ajax+PHP实现的分类列表框功能示例
2019/02/11 PHP
Javascript学习笔记4 Eval函数
2010/01/11 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
浅谈Javascript数组索引
2015/07/29 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
javascript数据结构中栈的应用之符号平衡问题
2017/04/11 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
Python之读取TXT文件的方法小结
2018/04/27 Python
CentOS 7下安装Python3.6 及遇到的问题小结
2018/11/08 Python
windows下numpy下载与安装图文教程
2019/04/02 Python
PyQt5组件读取参数的实例
2019/06/25 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
Django模板Templates使用方法详解
2019/07/19 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
2019/10/30 Python
python numpy 反转 reverse示例
2019/12/04 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
Python: glob匹配文件的操作
2020/12/11 Python
pip install命令安装扩展库整理
2021/03/02 Python
火锅店营销方案
2014/02/26 职场文书
付款委托书范本
2014/04/04 职场文书
网上祭先烈心得体会
2014/09/01 职场文书
如何理解python接口自动化之logging日志模块
2021/06/15 Python
Python pandas之求和运算和非空值个数统计
2021/08/07 Python