以下是一个快速排序的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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录