以下是 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)

该实现使用了递归,首先判断数组是否为空或只有一个元素,如果是,则直接返回该数组。否则,选择一个基准值(这里选取第一个元素),将数组分成两部分,左边部分所有元素都小于基准值,右边部分所有元素都大于等于基准值。然后对左右两部分分别进行递归排序,最后将它们和基准值合并起来。

注意:这个实现并不是原地排序,因为它创建了两个新的数组(左部分和右部分),而且在递归调用时也创建了新的数组。如果要实现原地排序,需要对原数组进行修改,而不是创建新的数组。

Python 快速排序算法详解与代码实现

原文地址: https://www.cveoy.top/t/topic/n0Dg 著作权归作者所有。请勿转载和采集!

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