小编Sai*_*i-K的帖子

erlang - 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]
Run Code Online (Sandbox Code Playgroud)

我错过了什么?发布这个以了解我在学习时错过的erlang功能.

谢谢.

syntax erlang quicksort

1
推荐指数
1
解决办法
107
查看次数

标签 统计

erlang ×1

quicksort ×1

syntax ×1