快排是一种常见的排序算法,其核心思想是通过不断地分治和交换,将一个无序的序列变成有序的序列。以下是一段快排的代码:

def quick_sort(nums):
    if len(nums) <= 1:
        return nums
    pivot = nums[len(nums) // 2]
    left, right, mid = [], [], []
    for num in nums:
        if num < pivot:
            left.append(num)
        elif num > pivot:
            right.append(num)
        else:
            mid.append(num)
    return quick_sort(left) + mid + quick_sort(right)

这段代码首先判断序列是否为空或只有一个元素,如果是的话直接返回原序列。接着选择一个中间值作为基准点,并将序列中小于基准点的元素放入左边列表,大于基准点的元素放入右边列表,等于基准点的元素放入中间列表。然后对左右列表进行递归调用,最后将三个列表组合起来即可得到有序序列


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

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