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扩展插件Validate 3通过参数设置错误信息
Sep 05 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
Feb 03 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
Apr 12 Javascript
JavaScript栏目列表隐藏/显示简单实现
Apr 03 Javascript
jQuery替换字符串(实例代码)
Nov 13 Javascript
详解JavaScript时间格式化
Dec 23 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
Jun 08 Javascript
原生JS实现九宫格抽奖效果
Apr 01 Javascript
微信小程序 商城开发(ecshop )简单实例
Apr 07 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
Oct 12 Javascript
基于javascript的拖拽类封装详解
Apr 19 Javascript
vue项目强制清除页面缓存的例子
Nov 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自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
php实现微信发红包
2015/12/05 PHP
document.getElementById介绍
2011/09/13 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
Python实现爬取需要登录的网站完整示例
2017/08/19 Python
Python使用base64模块进行二进制数据编码详解
2018/01/11 Python
Django数据库表反向生成实例解析
2018/02/06 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
Django操作session 的方法
2020/03/09 Python
python微信公众号开发简单流程实现
2020/03/09 Python
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
2014年司机工作总结
2014/11/21 职场文书
2014年文秘工作总结
2014/11/25 职场文书
店面出租协议书范本
2014/11/28 职场文书
政协工作总结2015
2015/05/20 职场文书
请病假条范文
2015/08/17 职场文书
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python
openstack云计算keystone组件工作介绍
2022/04/20 Servers
Win10 Anaconda安装python-pcl
2022/04/29 Servers