【发布时间】:2015-08-27 19:15:09
【问题描述】:
我正在尝试根据我在课堂上阅读的伪代码在 Python 中实现快速排序,但它不会对列表进行排序。它执行递归并始终返回第一个递归调用的结果(未排序)。谁能解释我做错了什么?
def quick_sort(S):
n = len(S)
if n < 2:
return
p = S[0]
L = []
E = []
G = []
for i in range(0,len(S)):
if S[i] < p:
L.append(S[i])
elif p < S[i]:
G.append(S[i])
else:
E.append(S[i])
quick_sort(L)
quick_sort(G)
S=L+E+G
【问题讨论】: