JavaScript中三种常见的排序方法


Posted in Javascript onFebruary 24, 2017

1、快速排序:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>快速排序</title>
</head>
<body>
<script>
 var ary=[21,8,4,32,5];
 function quickSort(ary){
 if(ary.length<=1){
  return ary;
 }
 var num=Math.floor(ary.length/2);
 var numValue=ary.splice(num,1)[0];
 var left=[];
 var right=[];
 for(var i=0; i<ary.length; i++){
  var cur=ary[i];
  if(cur<numValue){
  left.push(cur);
  }else{
  right.push(cur);
  }
 }
 return quickSort(left).concat([numValue],quickSort(right));
 }
 document.write(quickSort(ary));
</script>
</body>
</html>

2、插入排序

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>插入排序</title>
</head>
<body>
<script>
 var ary=[21,8,4,32,5];
 function insertSort(ary){
 var left=ary.splice(0,1);
 for(var i=0; i<ary.length; i++){
  var cur=ary[i];
  for(var j=left.length-1; j>=0;){
  var nex=left[j];
  if(cur<nex){
   j--;
   if(j===-1){
   left.unshift(cur);
   }
  }else{
   left.splice(j+1,0,cur);
   break;
  }
  }
 }
 return left;
 }
 document.write(insertSort(ary));
</script>
</body>
</html>

3、冒泡排序

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>冒泡排序</title>
</head>
<body>
<script>
 var ary=[21,32,2,9,4];
 function bubbleSort(ary){
 for(var i=0; i<ary.length; i++){
  for(var j=0; j<ary.length-i-1; j++){
  if(ary[j]>ary[j+1]){
   var tmp=ary[j+1];
   ary[j+1]=ary[j];
   ary[j]=tmp;
  }
  }
 }
 return ary;
 }
 document.write(bubbleSort(ary));
</script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
通过遮罩层实现浮层DIV登录的js代码
Feb 07 Javascript
js弹出确认是否删除对话框
Mar 27 Javascript
jQuery+easyui中的combobox实现下拉框特效
Feb 27 Javascript
使用Chart.js图表库制作漂亮的响应式表单
Oct 28 Javascript
理解JS绑定事件
Jan 19 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
May 17 Javascript
详解jQuery uploadify文件上传插件的使用方法
Dec 16 Javascript
基于jQuery制作小图标上下滑动特效
Jan 18 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
May 11 Javascript
vue环境搭建简单教程
Nov 07 Javascript
vue+iview+less 实现换肤功能
Aug 17 Javascript
jQuery-App输入框实现实时搜索
Nov 19 jQuery
Angular2 Service实现简单音乐播放器服务
Feb 24 #Javascript
Bootstrap3多级下拉菜单
Feb 24 #Javascript
使用原生的javascript来实现轮播图
Feb 24 #Javascript
从零学习node.js之mysql数据库的操作(五)
Feb 24 #Javascript
微信小程序 定位到当前城市实现实例代码
Feb 23 #Javascript
JavaScript中值类型和引用类型的区别
Feb 23 #Javascript
canvas绘制环形进度条
Feb 23 #Javascript
You might like
学习使用PHP数组
2006/10/09 PHP
mysql limit查询优化分析
2008/11/12 PHP
CodeIgniter使用phpcms模板引擎
2013/11/12 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
PHP获取文件相对路径的方法
2015/02/26 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
Prototype 学习 工具函数学习($A方法)
2009/07/12 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
jquery自动将form表单封装成json的具体实现
2014/03/17 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
vue中的自定义分页插件组件的示例
2018/08/18 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
详解Python中的__new__、__init__、__call__三个特殊方法
2016/06/02 Python
20招让你的Python飞起来!
2016/09/27 Python
python连接数据库的方法
2017/10/19 Python
python3调用R的示例代码
2018/02/23 Python
pycharm设置注释颜色的方法
2018/05/23 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
咖啡书吧创业计划书
2014/01/13 职场文书
物业保安岗位职责
2014/07/02 职场文书
中学生运动会新闻稿
2014/09/24 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
维稳承诺书
2015/01/20 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
教你用Java Swing实现自助取款机系统
2021/06/11 Java/Android