赞
踩
这是一个通用的 JavaScript 排序算法。它使用的是快速排序算法。
function sort(arr) {
if (arr.length <= 1) {
return arr;
}
const pivot = arr[arr.length - 1];
const left = [];
const right = [];
for (let i = 0; i < arr.length - 1; i++) {
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return [...sort(left), pivot, ...sort(right)];
}
如果要使用这个排序函数,可以这样调用它:
const arr = [3, 5, 1, 8, 9, 2];
const sorted = sort(arr);
console.log(sorted); // [1, 2, 3, 5, 8, 9]
在这个算法中,数组会不断被划分为更小的子数组,直到每个子数组都只包含一个元素为止。每个子数组都会被排序,然后再合并为一个有序的整体。
请注意,快速排序算法的时间复杂度为 O(n * log n),因此它在大多数情况下都是一个非常高效的排序算法。但是,在某些情况下,它可能会运行得非常慢,因此需要根据实际情况进行选择。
如果你对web前端开发、面试感兴趣的话可以加V:imqdcnn。群里有各种学习资源发放,免费答疑,更有行业深潜多年的技术牛人分析讲解。
祝你能成为一名优秀的WEB前端开发工程师!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。