快速排序 递归调用

来源:互联网 发布:seo教程网 编辑:程序博客网 时间:2024/05/20 10:55

快速排序将数组进行分解,对两个子问题进行排序。

快速排序首先要找到划分数组的基准,我们以数组的第一个元素为例。

然后将数组划分为大于该基准的数组与小于该基准的数组。

分别再对两个子数组进行快速排序。

python代码如下:

def quicksort(list):    if len(list)<2:        return list    else:        pivot=list[0]        less=[x for x in list[1:] if x <=pivot]        greater=[y for y in list[1:] if y>pivot]        return quicksort(less)+[pivot]+quicksort(greater)

测试结果:

print quicksort([6,2,3,9,7,5,61])[2, 3, 5, 6, 7, 9, 61]


原创粉丝点击