Python 实现快速排序
时间: 2023-05-12 11:03:41 浏览: 48
可以使用以下代码实现快速排序:
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
arr = [3, 6, 1, 8, 2, 9, 4, 7, 5]
print(quick_sort(arr)) # 输出 [1, 2, 3, 4, 5, 6, 7, 8, 9]
相关问题
python实现快速排序
好的,以下是Python实现快速排序的代码:
```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = []
right = []
for i in range(1, len(arr)):
if arr[i] < pivot:
left.append(arr[i])
else:
right.append(arr[i])
return quick_sort(left) + [pivot] + quick_sort(right)
```
这个实现使用了递归来进行排序,首先选择列表中的第一个元素作为基准点(pivot),然后将列表中其他元素分为两部分,小于基准点的放在左边,大于等于基准点的放在右边。然后递归地对左右两部分分别进行快速排序,最后再将左、基准点、右三部分合并起来。
Python实现快速排序
好的,以下是Python实现快速排序的代码:
```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = []
right = []
for i in range(1, len(arr)):
if arr[i] < pivot:
left.append(arr[i])
else:
right.append(arr[i])
return quick_sort(left) + [pivot] + quick_sort(right)
```
这个实现使用了递归来进行排序,首先选择列表中的第一个元素作为基准点(pivot),然后将列表中其他元素分为两部分,小于基准点的放在左边,大于等于基准点的放在右边。然后递归地对左右两部分分别进行快速排序,最后再将左、基准点、右三部分合并起来。