Erlang中的快速排序示例

Erlang中的快速排序示例,erlang,Erlang,我有一个关于Erlang快速排序实现的问题: qsort([]) -> []; qsort([Pivot|T]) -> qsort([X || X <- T, X < Pivot]) ++ [Pivot] ++ qsort([X || X <- T, X >= Pivot]). qsort([])->[]; qsort([Pivot | T])->qsort([X | | X[Pivot]基本上是将单个元素Pivot放入一个列表,以便与其他两个列表连接。它不

我有一个关于Erlang快速排序实现的问题:

qsort([]) -> [];
qsort([Pivot|T]) -> qsort([X || X <- T, X < Pivot]) ++ [Pivot] ++ qsort([X || X <- T, X >= Pivot]).
qsort([])->[];

qsort([Pivot | T])->qsort([X | | X
[Pivot]
基本上是将单个元素
Pivot
放入一个列表,以便与其他两个列表连接。它不考虑输入中具有相同值的其他元素。因此,您需要在实现的左侧或右侧处理它,以确保返回时不会遗漏这些值g排序后的列表

e、 g.假设您的输入列表是[5,3,6,5,2,7]。您需要处理三个子列表:

  • [枢轴]=[5]

  • [X | | X感谢您的帮助@dethron5000