用python 写快排
时间: 2023-09-29 14:08:26 浏览: 90
py代码-python实现快排
下面是Python实现快速排序的代码:
```python
def quicksort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = []
right = []
for i in arr[1:]:
if i < pivot:
left.append(i)
else:
right.append(i)
return quicksort(left) + [pivot] + quicksort(right)
```
在快速排序中,我们选择一个“枢纽元素”作为参考点,将数组分成两部分:小于枢纽元素的部分和大于枢纽元素的部分。然后,我们递归地对这两个子数组进行排序,并将它们合并起来。
在这个实现中,我们选择数组的第一个元素作为枢纽元素。然后我们创建两个空数组 left 和 right,分别用来存放小于和大于枢纽元素的元素。接下来,我们遍历数组的剩余元素,将小于 pivot 的元素添加到 left 中,将大于 pivot 的元素添加到 right 中。最后,我们递归地对 left 和 right 进行排序,并将它们与 pivot 组合在一起返回。
阅读全文