下面是一个使用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_arr)
这个代码定义了一个quick_sort
函数,它使用快速排序算法对输入的数组进行排序。函数首先检查数组的长度,如果长度小于等于1,直接返回该数组。否则,它选择一个基准元素(这个示例代码中选择的是数组的中间元素),将数组分成小于、等于和大于基准元素的三个部分。然后,递归地对小于和大于部分分别应用快速排序,最后将这三部分连接起来得到排序后的结果。
在这个示例中,我们对一个包含了重复元素的数组进行排序,输出为[1, 1, 2, 3, 6, 8, 10]
。