码迷,mamicode.com
首页 > 编程语言 > 详细

手动实现一种时间复杂度为 O(n log n) 的排序算法

时间:2020-06-17 13:08:41      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:中间   math   log   cti   http   tail   排序   ice   blog   

var quickSort = function (arr) {
if (arr.length <= 1) {
return arr;
}
var centerIndex = Math.floor(arr.length / 2); // 取中间基准
var center = arr.splice(centerIndex, 1)[0]; // 拿到基准数
var left = [];
var right = [];

for (var i = 0; i < arr.length; i++) {
if (arr[i] < center) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quickSort(left).concat([center], quickSort(right)); // 合并
};
// 测试
// var arr = [5, 7, 3, 16, 9, 4];
// console.log(quickSort(arr)); // [3, 4, 5, 7, 9, 16]
原文链接:https://blog.csdn.net/a5252145/java/article/details/105071655

手动实现一种时间复杂度为 O(n log n) 的排序算法

标签:中间   math   log   cti   http   tail   排序   ice   blog   

原文地址:https://www.cnblogs.com/jun881821/p/13151548.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!