快速排序的python代码
时间: 2023-06-21 08:24:47 浏览: 42
以下是快速排序的 Python 代码实现:
```python
def quick_sort(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 quick_sort(left) + [pivot] + quick_sort(right)
```
在这个实现中,我们首先检查列表的长度。如果列表只有一个元素或者没有元素,那么它就已经排好序了,可以直接返回。
否则,我们选择第一个元素作为枢轴(pivot),然后将小于枢轴的元素放在左边,大于枢轴的元素放在右边。最后,我们递归地对左右两个子列表进行快速排序,并将它们与枢轴合并在一起返回。
这个算法的时间复杂度为 O(n log n),平均情况下比较高效。
相关问题
快速排序python代码
以下是快速排序的 Python 代码:
```
def quick_sort(array):
if len(array) < 2:
return array
else:
pivot = array[0]
less = [i for i in array[1:] if i <= pivot]
greater = [i for i in array[1:] if i > pivot]
return quick_sort(less) + [pivot] + quick_sort(greater)
```
以上代码可以对数组进行快速排序,时间复杂度为 O(n log n)。
快速排序 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)
```
这段代码实现了快速排序算法,将输入的数组按照从小到大的顺序进行排序。