面对过程编程要了oo人的狗命,我真的不会递归……先用python打个草稿……
py
def quickSort(l):
if len(l)==0:
return []
if len(l)==1:
return l
L=[]
R=[]
for a in l[1:]:
if a<=l[0]:
L.append(a)
else:
R.append(a)
return quickSort(L)+[l[0]]+quickSort(R)
erl
%quick sort
quickSort([]) ->
[];
quickSort([H|[]]) ->
[H|[]];
quickSort([H|T]) ->
L=[N|| N <- T, N=<H],
R=[N|| N <- T, N>H],
quickSort(L)++[H]++quickSort(R).
不过我pivot图方便写的是最左边哦,如果真要性能好一些拿来用肯定随机访问更好(但是你为什么不用mergesort&你为什么不直接调库)