您的位置:首页 > Web前端 > JavaScript

快速排序之JavaScript实现

2015-10-05 16:22 639 查看
function quickSort(arr) {
//递归终止条件
if (arr.length <= 1) {
return arr;
}

//取数组的第0个数组作为flag
var flag = arr.splice(0, 1)[0];
//left为用于装载小于flag的数字的数组
var left = [];
//right为用于装载小于flag的数字的数组
var right = [];
//当前数组长度
var len = arr.length;
//遍历所有数字并将其分配至left或者right
for (var i = 0; i < len; i++) {
var num = arr[i];
if (num < flag) {
left.push(num);
} else {
right.push(num);
}
}
//递归地对left和right继续进行快速排序并将结果拼装为整个数组
return quickSort(left).concat([flag], quickSort(right));
}
var arr = [45,2,732,25,8,23,64,22];
console.log(quickSort(arr));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: