龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

javascript中数组快速排序的方法

时间:2012-12-29 08:41来源:未知 作者:admin 点击:
分享到:
本文章简单的介绍一个js数组快速排序的实现有需要了解的同学可以参考。 代码如下 function quickSort(arr){ //如果数组只有一个数,就直接返回; if(arr.length1){ return arr; } //找到中间的那个数
本文章简单的介绍一个js数组快速排序的实现有需要了解的同学可以参考。
 代码如下

function quickSort(arr){
//如果数组只有一个数,就直接返回;
if(arr.length<1){
return arr;
}
//找到中间的那个数的索引值;如果是浮点数,就向下取整
var centerIndex = Math.floor(arr.length/2);
//根据这个中间的数的索引值,找到这个数的值;
var centerNum = arr.splice(centerIndex,1);
//存放左边的数
var arrLeft = [];
//存放右边的数
var arrRight = [];
for(i=0;i<arr.length;i++){
if(arr[i]<centerNum){
arrLeft.push(arr[i])
}else if(arr[i]>centerNum){
arrRight.push(arr[i])
}
}
return quickSort(arrLeft).concat(centerNum,quickSort(arrRight));
};
var arrSort = [33,18,2,40,16,63,27];
var arr1 = quickSort(arrSort);
console.log(arr1);

精彩图集

赞助商链接