Python实现快速排序算法
下面是使用 Python 实现的快速排序算法的示例代码:
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
less_than_pivot = [x for x in arr[1:] if x <= pivot]
greater_than_pivot = [x for x in arr[1:] if x > pivot]
return quick_sort(less_than_pivot) + [pivot] + quick_sort(greater_than_pivot)
# 示例
arr = [3, 6, 8, 10, 1, 2, 1]
sorted_arr = quick_sort(arr)
print("排序后的数组:", sorted_arr)
函数 quick_sort
接受一个数组作为输入,并返回已排序的数组。在函数内部,首先检查数组的长度。如果数组长度小于等于1,则返回该数组,因为一个元素或空数组已经是排序好的。否则,选择数组中的第一个元素作为枢纽(pivot),然后将数组分为两个部分:一个包含所有小于等于枢纽的元素,另一个包含所有大于枢纽的元素。然后,对这两个部分分别递归地进行快速排序,并将它们与枢纽连接起来。最终,你会得到一个完全排序好的数组