如何用 Python 实现快速排序算法

快速排序算法是一种分治思想的算法,它将一个数组分为两部分,其中一部分的所有值都小于另一部分。它的原理是:

  1. 选择一个基准值(pivot):通常会选择数组的第一个值作为基准值;

  2. 将数组中的其他元素与基准值进行比较,将小于基准值的元素放到基准值的左边,大于基准值的元素放到基准值的右边;

  3. 将基准值左边的子数组和右边的子数组分别用相同的方法进行排序,直至子数组的长度为 1,此时数组排序完成。

下面是一段 Python 实现快速排序算法的示例代码:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        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 = [9, 8, 7, 6, 5, 4, 3, 2, 1]
print(quick_sort(arr))  # Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]