写一段快排代码
快排是一种常见的排序算法,其核心思想是通过不断地分治和交换,将一个无序的序列变成有序的序列。以下是一段快排的代码:
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 著作权归作者所有。请勿转载和采集!