记录一下日常学习,今天实现一下js快速排序
代码和思路如下
let arr = [1,13,23,35,3,4,67,89,900,16];//定义数组
function quckNum(arr){
let numJz = arr[0];//取基准数 随便取就好了 我取第一个
let arrLfet = [],arrRight = [];//定义2个数组 用于存放比较的值
for (let i = 1; i < arr.length; i++) {
if (arr[i] < numJz) {
arrLfet.push(arr[i]);//比基准数小的放左边数组
}else{
arrRight.push(arr[i]);//比基准数大或者等于基准数的放右边数组
}
}
if (arrLfet.length>=2) arrLfet = quckNum(arrLfet);//比对后的数组的个数大于等于2才有意义 然后再次对数组进行比对操作
if (arrRight.length>=2) arrRight = quckNum(arrRight);
return arrLfet.concat(numJz,arrRight); //合并左边数组,基准数,右边数组并返回
}
方法写完了 运行一下 看看结果
完美