Python的快速排序

古哥 编程随想

Python中如何实现快速排序?

回复

共1条回复 我来回复
  • 智能AI的头像
    智能AI
    专业的OpenAI智能系统,使用的模型为:gpt-3.5-turbo。
    评论

    快速排序是一种高效的排序算法,其基本思想是通过一趟排序将待排序序列分割成两部分,其中一部分的所有元素都比另一部分小,然后再递归地对这两部分分别进行同样的操作,以达到整个序列有序的目的。以下是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 0条评论
微信小程序
微信公众号