Sorting algorithms/Insertion sort: Difference between revisions

Added Elixir
(Added Elixir)
Line 642:
 
end</lang>
 
=={{header|Elixir}}==
<lang elixir>defmodule Sort do
def insert_sort(list) when is_list(list), do: insert_sort(list, [])
def insert_sort([], sorted), do: sorted
def insert_sort([h | t], sorted), do: insert_sort(t, insert(h, sorted))
defp insert(x, []), do: [x]
defp insert(x, sorted) when x < hd(sorted), do: [x | sorted]
defp insert(x, [h | t]), do: [h | insert(x, t)]
end</lang>
 
Example:
<pre>
iex(10)> Sort.insert_sort([5,3,9,4,1,6,8,2,7])
[1, 2, 3, 4, 5, 6, 7, 8, 9]
</pre>
 
=={{header|Emacs Lisp}}==
Anonymous user