快速排序原理:
1.找一个基准数;
2.如果比基准数大的放到右边,小的放到左边;
3.利用递归
let arrParam = [4,1,3,10,8,7,5];
function quicklySort(arr) {
//只有一个数字 则直接返回
if(arr.length <= 1) {
return arr;
}
//参数里有多个值
let compareValue = arr[0];
//删除比较的值--防止死循环
arr.splice(0,1);
let leftArr = [];
let rightArr = [];
for(let value of arr){
if (value > compareValue){
rightArr.push(value);
} else {
leftArr.push(value);
}
}
leftArr = quicklySort(leftArr);
rightArr = quicklySort(rightArr);
let returnValue = leftArr.concat(compareValue).concat(rightArr);
return returnValue;
}
quicklySort(arrParam);