中等
技术面试0 次浏览

请编写一个函数,实现对一个整数数组进行快速排序。

华为后端工程师
算法快速排序

答题要点

推荐答题框架:采用递归的思路,按照快速排序的步骤实现。关键要点:1. 选择基准:从数组中选择一个基准元素。可以选择数组的第一个元素或中间元素。2. 分区操作:将数组分为两部分,小于基准的元素放在左边,大于基准的元素放在右边。3. 递归排序:对左右两部分分别进行快速排序。4. 合并结果:将排序好的左右两部分和基准元素合并。示例思路:首先选择一个基准元素,然后进行分区操作,将数组分为两部分。接着递归地对左右两部分进行排序,最后将结果合并。以下是示例代码:function quickSort(arr) { if (arr.length <= 1) return arr; let pivot = arr[0]; let left = []; let right = []; for (let i = 1; i < arr.length; i++) { if (arr[i] < pivot) left.push(arr[i]); else right.push(arr[i]); } return [...quickSort(left), pivot, ...quickSort(right)]; }