写一段代码演示快速排序
以下是一个快速排序的Python实现:
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
less = [x for x in arr[1:] if x <= pivot]
greater = [x for x in arr[1:] if x > pivot]
return quick_sort(less) + [pivot] + quick_sort(greater)
arr = [3, 6, 8, 10, 1, 2, 1]
print("Before sorting:", arr)
arr = quick_sort(arr)
print("After sorting:", arr)
输出:
Before sorting: [3, 6, 8, 10, 1, 2, 1]
After sorting: [1, 1, 2, 3, 6, 8, 10]
这个实现使用了递归来对数组进行划分和排序。首先,我们选取一个基准元素(通常选择第一个元素),然后将数组中小于等于基准元素的元素放在一个数组(less)中,大于基准元素的元素放在另一个数组(greater)中。然后,我们递归地对less和greater进行排序,最后将排好序的less、基准元素和greater依次连接起来。
原文地址: https://www.cveoy.top/t/topic/Ng0 著作权归作者所有。请勿转载和采集!