概述
传统的快排都是在数组中,随机选择数组中一个元素(有的会直接选中间),然后从左边寻找第一个比它大的,从右边寻找第一个比它小的,两者互换位置。但是JS的灵活性提供了另一种方法,这种方法更好理解。
function quickSort(arr) {
var length = arr.length;
if(length <= 1) {
return arr;
}
var mid = parseInt(length / 2);
var lower = [], equal = [], greater = [];
for(var i = 0; i < length; i++) {
if(arr[i] < arr[mid]) {
lower.push(arr[i]);
} else if(arr[i] === arr[mid]) {
equal.push(arr[i]);
} else {
greater.push(arr[i]);
}
}
return quickSort(lower).concat(equal).concat(quickSort(greater))
}
最后
以上就是谨慎大白为你收集整理的JS特色快排实现的全部内容,希望文章能够帮你解决JS特色快排实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复