def quicksort(alist):
if len(alist) < 2:
return alist
思路如下图所示:
代码如下:
def quicksort(alist):
if len(alist) < 2:
return alist # 基线条件为空或只包含一个元素的列表是有序的。
else:
pivot = alist[0] # 选择基准值
less = [i for i in alist[1:] if i <= pivot] # 由小于基准值的元素组成
biggish = [i for i in alist[1:] if i > pivot] # 由大于基准值的元素组成
return quicksort(less) + [pivot] + quicksort(biggish)
学习之旅
def quicksort(alist):
if len(alist) < 2:
return alist
思路如下图所示:
代码如下:
def quicksort(alist):
if len(alist) < 2:
return alist # 基线条件为空或只包含一个元素的列表是有序的。
else:
pivot = alist[0] # 选择基准值
less = [i for i in alist[1:] if i <= pivot] # 由小于基准值的元素组成
biggish = [i for i in alist[1:] if i > pivot] # 由大于基准值的元素组成
return quicksort(less) + [pivot] + quicksort(biggish)
学习之旅