python实现快速排序,给出具体的代码实现
时间: 2023-10-17 19:03:53 浏览: 87
如何使用Python实现快速排序+编程知识+技术开发
好的,下面是快速排序的 Python 代码实现:
```python
def quickSort(array):
if len(array) < 2:
return array
pivot = array[0]
less = [i for i in array[1:] if i <= pivot]
greater = [i for i in array[1:] if i > pivot]
return quickSort(less) + [pivot] + quickSort(greater)
```
快速排序的基本思想是:选择一个基准元素(pivot),将待排序序列分成两部分,一部分中所有元素都比基准元素小,另一部分中所有元素都比基准元素大,然后对这两部分再分别进行快速排序,最终得到一个有序序列。
在上面的代码实现中,我们选择了第一个元素作为基准元素,然后将其他元素分成两个部分,小于等于基准元素的放在 less 数组中,大于基准元素的放在 greater 数组中。最后,通过递归调用 quickSort 函数,对 less 和 greater 两个数组进行快速排序,并将排序后的结果合并起来返回。
如果需要对数组 arr 进行排序,只需要调用 quickSort(arr) 即可。
阅读全文