JS 快速排序数组

  • 爵特猛
  • 2023-7-14 18:12
  • 其它
  • 1951
// 快速排序
function quickSort(arr){
    // 递归出口,终结条件
    if (arr.length <= 1) return arr
    // 取数组的中间值
    let midIndex = Math.floor(arr.length / 2)
    // 取中间值
    let midValue = arr.splice(midIndex, 1) [0]
    // 定义左右数组
    let left = []
    let right = []
    // 遍历数组
    for (let i = 0; i < arr.length; i++) {
       if (arr[i] < midValue) {
           left.push(arr[i])
       } else {
           right.push(arr[i])
       }
    }
    // 递归
    return quickSort(left).concat(midValue, quickSort(right))
}



本文为爵特猛原创文章,转载无需和我联系,但请注明来自爵特猛博客www.juetemeng.com