June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -1,12 +1,7 @@
|
|||
defmodule QuickSort do
|
||||
defmodule Sort do
|
||||
def qsort([]), do: []
|
||||
|
||||
def qsort([_|_] = list) do
|
||||
List.flatten do_qsort(list)
|
||||
end
|
||||
|
||||
defp do_qsort([pivot | rest]) do
|
||||
{left, right} = Enum.split_with(rest, &(&1 < pivot))
|
||||
[qsort(left), pivot, qsort(right)]
|
||||
def qsort([h | t]) do
|
||||
{lesser, greater} = Enum.split_with(t, &(&1 < h))
|
||||
qsort(lesser) ++ [h] ++ qsort(greater)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue