js 快排
<script>
var arr = [1,4,2,233,23,2,3,32,3,4,3,54,65,7,68,9,0];
function quickSort(arr) {
// 边界条件
if (arr.length <= 1) {
return arr;
}
// 获取中间下标及元素
const middleIdx = Math.floor((arr.length - 1) / 2);
// 把中间元素拿出来
const middleEle = arr.splice(middleIdx, 1)[0];
// 开始快速排序
const left = [], right = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] > middleEle) {
// 大的往后移
right.push(arr[i]);
} else {
// 小的往左移
left.push(arr[i]);
}
}
return quickSort(left).concat([middleEle], quickSort(right));
}
console.log(quickSort(arr));
</script>
、、、、

浙公网安备 33010602011771号