面对过程编程要了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], quickSort(L)++[H]++quickSort(R).
不过我pivot图方便写的是最左边哦,如果真要性能好一些拿来用肯定随机访问更好(但是你为什么不用mergesort&你为什么不直接调库)


![[python&erlang] recursive quicksort 递归快排 [python&erlang] recursive quicksort 递归快排](http://www.mshxw.com/aiimages/31/753404.png)
