快速排序的Python代码

快速排序的基本思想是通过不断地交换来将序列中的元素按照一定顺序排列。在 Python 中,可以使用内置的 sorted() 函数来对序列进行排序,也可以使用自定义的快速排序函数。

下面是一个简单的快速排序函数的例子:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[0]
    left = [x for x in arr[1:] if x < pivot]
    right = [x for x in arr[1:] if x >= pivot]
    return quick_sort(left) + [pivot] + quick_sort(right)

# 测试
arr = [3, 7, 4, 8, 1, 2, 9, 5]
sorted_arr = quick_sort(arr)
print(sorted_arr)  # 输出:[1, 2, 3, 4, 5, 7, 8, 9]

在这个函数中,我们首先判断序列的长度是否小于等于 1,如果是,就直接返回该序列。否则,我们就以序列的第一个元素为基准(也就是枢轴 pivot),将序列中的其他元素分成两部分:比 pivot 小的元素和大于或等于 pivot 的元素。然后,我们递归地调用快速排序函数,对这两部分分别排序,最后将三部分合并起来即可。

你可能感兴趣的:(排序算法,算法)