1
В чем разница? почему я получаю только первый элемент в списке?erlang - quicksort. Стандартная программа quicksort от learnyousomeerlang
-module(hello).
-export(quicksort/1,
lc_quicksort/1]).
quicksort([]) -> [];
quicksort([Pivot|Rest]) ->
quicksort([x || x <- Rest, x =< Pivot])
++[Pivot]
++ quicksort([y || y <- Rest, y > Pivot]).
lc_quicksort([]) -> [];
lc_quicksort([Pivot|Rest]) ->
lc_quicksort([Smaller || Smaller <- Rest, Smaller =< Pivot])
++ [Pivot] ++
lc_quicksort([Larger || Larger <- Rest, Larger > Pivot]).
1> c("hello.erl").
{ok,hello}
2> hello:quicksort([3, 1, 4, 2, 5, 9]).
[3]
3> hello:lc_quicksort([3, 1, 4, 2, 5, 9]).
[1,2,3,4,5,9]
Что мне не хватает? Проводя это, чтобы узнать, что функциональность erlang, которую я пропустил во время обучения.
Спасибо.