python排序之快速排序

快速排序

快速排序是比较常用的一种排序方式,通过递归的方法进行排序

首先使用递归方式我们先要解决两个问题:1找到基准条件 2找到递归条件

 

基线条件为数组为空或只包含一个元素。在这种情况下,只需原样返回数组——根本就不用排序

那么这样我们就会把数组长度小于2的定位我们基准条件

 

然后我们会将剩余数组进行分区,分为较大区域和较小区域,假设大区域和小区域都是无需排序的有序数组,那么我们将小区域加上基准加上大区域,就是最后我们排序后所需要的数组

那么我只需要把大区域和小区域进行递归直到大区域和小区域都完成排序

 代码实现:

def quickSort(array):
    larger = list()
    smaller = list()
    if len(array) < 2 :
        return array
    else:
        standard = array[0]
        for i in array[1:]:
            if i > standard:
                larger.append(i)
            else:
                smaller.append(i)
        return quickSort(smaller) + [standard] + quickSort(larger)

 

posted @ 2022-05-15 13:53  yetangjian  阅读(1055)  评论(0编辑  收藏  举报