QuickSort
-module(lib_misc).
-export([qsort/1]).
qsort([]) -> [];
qsort([First | T]) ->
qsort([X || X <- T, X<First])
++ [First] ++
qsort([Y || Y <- T,Y>=First]).
通过列表推导对元素进行分割,分成比First大的跟比First小的两个列表,再进行sort。
44>L=[23,6,2,9,27,400,78,45,61,82,14].
45> c(lib_misc).
{ok,lib_misc}
46> lib_misc:qsort(L).
[2,6,9,14,23,27,45,61,78,82,400]
336

被折叠的 条评论
为什么被折叠?



