python 快速排序代码
时间: 2023-06-22 09:49:10 浏览: 51
下面是一个使用 Python 实现的快速排序的代码示例:
```python
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)
```
这个实现使用了列表推导式来创建左、中、右三个子数组,它们分别包含小于、等于和大于基准值的元素。然后,递归地对左、右两个数组进行快速排序,最后将它们和中间的数组合并起来。这个实现的时间复杂度是 O(nlogn),它是一种非常高效的排序算法。
相关问题
Python 快速排序代码
快速排序的 Python 代码如下:
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)
print(quick_sort([3,6,8,10,1,2,1]))
python快速排序代码
下面是 Python 实现的快速排序代码:
```
def quick_sort(array):
if len(array) <= 1:
return array
else:
pivot = array[0]
less = [x for x in array[1:] if x <= pivot]
greater = [x for x in array[1:] if x > pivot]
return quick_sort(less) + [pivot] + quick_sort(greater)
```
该代码使用了列表解析式来实现快速排序的递归过程。