function quickSort (arr) {
let len = arr.length
if (len > 1) {
let middleIndex = Math.floor(len / 2)
// 取主元
let middle = arr.splice(middleIndex, 1)[0]
let left = []
let right = []
// 小于主元放左侧,大于主元放右侧
arr.forEach(item => {
if (item < middle) {
left.push(item)
} else {
right.push(item)
}
})
// 递归 (主元 元素在两个数组中间)
return quickSort(left).concat(middle, quickSort(right))
} else {
return arr
}
}
JS 快速排序
最新推荐文章于 2024-09-12 19:02:20 发布