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 相关文章推荐
js正确获取元素样式详解
Aug 07 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
Jul 12 Javascript
jQuery动态效果显示人物结构关系图的方法
May 07 Javascript
详谈javascript异步编程
Feb 21 Javascript
ES6解构赋值的功能与用途实例分析
Oct 31 Javascript
angularJs 表格添加删除修改查询方法
Feb 27 Javascript
Three.js实现简单3D房间布局
Dec 30 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
Sep 12 Javascript
vue中添加与删除关键字搜索功能
Oct 12 Javascript
超简单的微信小程序轮播图
Nov 22 Javascript
实例分析javascript中的异步
Jun 02 Javascript
微信小程序通过websocket实时语音识别的实现代码
Aug 19 Javascript
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简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
2013/06/20 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
html的DOM中document对象anchors集合用法实例
2015/01/21 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
js实现圆盘记速表
2015/08/03 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
2017/06/12 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
详解vue组件中使用路由方法
2019/02/12 Javascript
Vuex的实战使用详解
2019/10/31 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
python生成大写32位uuid代码
2020/03/03 Python
python实现移动木板小游戏
2020/10/09 Python
波兰家居和花园家具专家:4Home
2019/05/26 全球购物
梅西百货官网:Macy’s
2020/08/04 全球购物
技术总监个人的自我评价范文
2013/12/18 职场文书
财务部出纳岗位职责
2013/12/22 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
教师党员群众路线教育实践活动心得体会
2014/11/04 职场文书
机关工会工作总结2015
2015/05/26 职场文书
同意落户证明
2015/06/19 职场文书