Python的快速排序
Python中如何实现快速排序?
快速排序是一种高效的排序算法,其基本思想是通过一趟排序将待排序序列分割成两部分,其中一部分的所有元素都比另一部分小,然后再递归地对这两部分分别进行同样的操作,以达到整个序列有序的目的。以下是Python实现快速排序的示例代码:
“`python
def quick_sort(nums):
if len(nums) <= 1: # 如果序列长度小于等于1直接返回 return nums else: pivot = nums[0] # 找到基准值 left = [x for x in nums[1:] if x < pivot] # 将小于基准值的数据放入左列表 right = [x for x in nums[1:] if x >= pivot] # 将大于等于基准值的数据放入右列表
return quick_sort(left) + [pivot] + quick_sort(right) # 递归排序左右列表,并与中间的基准值合并
“`在上述代码中,我们首先判断待排序序列的长度,如果长度小于等于1,直接返回该序列。否则,我们选取序列的第一个元素作为基准值pivot,然后将小于基准值的元素放入左列表left,大于等于基准值的元素放入右列表right。接着,我们递归地对左右列表进行排序,并将基准值插入到排好序的左右列表中间,得到最终的有序序列。
2023年05月08日 15:49