python快排

思路来自算法图解, 比自己写的更pythonic。

def fun(list):
if len(list) < 2:
return list
else:
pivot = list[0]
low = [i for i in list[1:] if i <= pivot]
high = [i for i in list[1:] if i > pivot]
return fun(low) + [pivot] + fun(high)

 

posted @ 2018-03-31 19:44  Ruohua3kou  阅读(115)  评论(0编辑  收藏  举报