python编程实现快速排序,给出完整的代码并设计实例进行测试
时间: 2024-11-04 17:15:05 浏览: 22
快速排序是一种高效的排序算法,它采用分治策略来对一个数组进行排序。以下是使用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]
print("原始数组:", arr)
sorted_arr = quick_sort(arr)
print("排序后的数组:", sorted_arr)
```
在这个例子中,我们首先定义了一个`quick_sort`函数,该函数接受一个数组作为输入。如果数组的长度小于或等于1,则直接返回数组,因为长度为1的数组已经是有序的。接着选择数组中间的元素作为基准(pivot),然后创建三个列表:一个包含所有小于基准的元素,一个包含所有等于基准的元素,一个包含所有大于基准的元素。这三个列表分别递归地进行快速排序,最后将它们连接起来形成最终的排序数组。
在测试实例中,我们定义了一个未排序的数组`arr`,并打印出原始数组和排序后的数组以验证算法的正确性。
阅读全文