文档章节

JS几种排序算法

CoderPeng
 CoderPeng
发布于 2015/11/17 11:35
字数 173
阅读 3
收藏 0

一.冒泡排序

var bubble = function(arr){
for(i=0;i<9;i++){
for(j=0;j<9-i;j++){
if(arr[j] > arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}


二.插入排序

var insersort = function(arr){
for(i=1;i<10;i++){
temp = arr[i];
j = i;
while(j > 0 && arr[j-1] > temp){
arr[j] = arr[j-1];
j--;
}
arr[j] = temp;
}
return arr;
}

//快速排序
var quicksort = function(arr){
var basenum,basenumIndex;
var left = [];
var right = [];

if(arr.length <= 1){
return arr;
}

三.基准数的位置

var quicksort = function(arr){
         var basenum,basenumIndex;
         var left = [];
         var right = [];
 
         if(arr.length <= 1){
             return arr;
         }
         //基准数的位置
         basenumIndex = Math.floor(arr.length/2);
         basenum = arr.splice(basenumIndex,1)[0];
         for(i=0;i<arr.length;i++){
             if(arr[i] < basenum){
                 left.push(arr[i]);
             }
             else{
                 right.push(arr[i]);
             }
         }
         //递归调用
         return quicksort(left).concat([basenum],quicksort(right));
     }
 

 


本文转载自:http://www.cnblogs.com/liupeng61624/p/4681537.html

CoderPeng
粉丝 0
博文 140
码字总数 78649
作品 0
青浦
程序员
私信 提问
JavaScript 排序算法

基础构造函数 以下几种排序算法做为方法放在构造函数里。 1. 冒泡排序 代码 图解 2. 选择排序 代码 图解 3. 插入排序 代码 图解 4. 归并排序 代码 图解 5. 快速排序 代码 图解 6. ECMAScrip...

唯情
2017/10/27
16
0
HTML 5视频教程系列之JavaScript学习篇-何韬-专题视频课程

HTML 5视频教程系列之JavaScript学习篇—52816人已学习 课程介绍 HTML 5视频教程系列中JavaScript开发的基础知识讲解及学习。 课程收益 通过自学视频掌握HTML 5开发手机应用和手机游戏的技能...

pkutao
2015/02/10
0
0
js实现数据结构及算法之排序算法

冒泡排序 冒泡排序是最慢的排序算法之一,数据值会像起跑一样从数组的一端漂浮到另一端 动画演示 js实现 选择排序 从数组的开头开始,将第一个元素和其他元素相比,最小的元素放在第一个位置...

eternalless
2018/09/07
0
0
用js来实现那些数据结构及算法—目录

  首先,有一点要声明,下面所有文章的所有内容的代码,都不是我一个人独立完成的,它们来自于一本叫做《学习JavaScript数据结构和算法》(第二版),人民邮电出版社出版的这本书。github代...

zaking
2018/05/10
0
0
JavaScript实现经典排序算法

先看一下各个算法的时间复杂度和空间复杂度 说明: 时间复杂度:指的是一个算法执行所耗费的时间 空间复杂度指:运行完一个程序所需内存的大小 稳定指:如果a=b,a在b的前面,排序后a仍然在b...

Luther_Li
04/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

全面兼容IE6/IE7/IE8/FF的CSS HACK写法

浏览器市场的混乱,给设计师造成很大的麻烦,设计的页面兼容完这个浏览器还得兼容那个浏览器,本来ie6跟ff之间的兼容是很容易解决的。加上个ie7会麻烦点,ie8的出现就更头疼了,原来hack ie...

前端老手
24分钟前
5
0
常用快递电子面单批量打印api接口对接demo-JAVA示例

目前有三种方式对接电子面单: 1.快递公司:各家快递公司逐一对接接口 2.菜鸟:支持常用15家快递电子面单打印 3.快递鸟:仅对接一次,支持常用30多家主流快递电子面单打印 目前也是支持批量打...

程序的小猿
27分钟前
6
0
Yii 框架中rule规则必须搭配验证函数才能使用

public $store_id;public $user_id;public $page;public $limit;public $list;public $mch_list;public $cart_id;public $is_community;public $shop_id;public $cart_typ......

chenhongjiang
30分钟前
4
0
Flutter使用Rammus实现阿里云推送

前言: 最近新的Flutter项目有“阿里云推送通知”的需求,就是Flutter的App启动后检测到有新的通知,点击通知栏然后跳转到指定的页面。在这里我使用的是第三方插件Rammus来实现通知的推送,之...

EmilyWu
30分钟前
43
0
Knative 实战:三步走!基于 Knative Serverless 技术实现一个短网址服务

短网址顾名思义就是使用比较短的网址代替很长的网址。维基百科上面的解释是这样的: 短网址又称网址缩短、缩短网址、URL 缩短等,指的是一种互联网上的技术与服务,此服务可以提供一个非常短...

阿里巴巴云原生
45分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部