4.1 今天巩固一下快排算法
const quickSort = (arr)=>{
if(arr.length < 1){
return arr
}
const leftArr = []
const rightArr = []
//1、首先取出数组的中值
const middleNum = arr.splice(Math.floor(arr.length / 2),1)
//2、将小于中值的数值排到中值左侧反之右侧
for(let i = 0;i<arr.length;i++){
if(arr[i]<middleNum){
leftArr.push(arr[i])
}else{
rightArr.push(arr[i])
}
}
const result = quickSort(leftArr).concat(middleNum).concat(quickSort(rightArr))
return result
}
const arr = [1,2,4,1,5,6,7,32,1,3,23,12,56,98,34]
quickSort(arr)