python代码实现快速排序
时间: 2024-09-17 16:00:21 浏览: 16
快速排序是一种高效的排序算法,其基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。下面是一个简单的 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) # 递归地对左右两边进行排序并合并
# 示例
arr = [3,6,8,10,1,2,1]
sorted_arr = quick_sort(arr)
print("Sorted array:", sorted_arr)
相关问题
用 python 代码实现快速排序
好的,快速排序的 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)
```
你可以通过调用该函数并传入一个列表来实现快速排序。
请用python代码实现快速排序算法
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
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]))
# Prints "[1, 1, 2, 3, 6, 8, 10]"