python快速排序算法

今天见到一个很棒的快排算法,只用三行语句就完成了:

def qsort(L):
    if len(L) <= 1: return L
    return qsort([lt for lt in L[1:] if lt < L[0]]) + L[0:1]+ qsort([ge for ge in L[1:] if ge >= L[0]])

接下来我们测试一下,写一些测试语句:

def qsort(L):
    if len(L) <= 1: 
    	print("hi")
    	print(L)
    	return L
    return qsort([lt for lt in L[1:] if lt < L[0]]) + L[0:1]+ qsort([ge for ge in L[1:] if ge >= L[0]])

iList = [3,14,2,12,9,33,99,35]

print(qsort(iList))
print(iList[0:1])
print(iList[0])

运行一下:

画图详细解析:

仔细看看,是不是很精巧呢

猜你喜欢

转载自blog.csdn.net/GBA_Eagle/article/details/81739627