用python写快速排序
时间: 2023-10-02 21:06:27 浏览: 101
以下是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)
```
这个函数使用递归实现快速排序。它首先检查输入列表的大小,如果小于或等于1,则返回该列表。否则,它将选择一个枢轴元素(在这个实现中,我们选择列表中的第一个元素)并将列表分成两个子列表:一个包含所有小于枢轴的元素,另一个包含所有大于枢轴的元素。然后,它递归地对每个子列表进行快速排序,并将它们连接起来以形成最终的排序列表。
相关问题
用Python写快速排序
快速排序是一种常用的排序算法,其特点是时间复杂度为O(nlogn)。
下面是用Python实现的快速排序的代码:
```
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[0]
left = [x for x in arr[1:] if x <= pivot]
right = [x for x in arr[1:] if x > pivot]
return quick_sort(left) + [pivot] + quick_sort(right)
```
代码中,我们选择数组的第一个元素作为枢轴,然后递归地对比较小的元素和比较大的元素分别进行快速排序,最后合并结果。
用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)
阅读全文