Sorting algorithms/Sleep sort: Difference between revisions

Content added Content deleted
m (→‎{{header|Swift}}: `println` was removed in Swift 2, it is now simply `print`)
(Added Elixir)
Line 71: Line 71:
782
782
</pre>
</pre>



=={{header|Brainf***}}==
=={{header|Brainf***}}==
Line 206: Line 205:
<lang clojure>(sleep-sort [4 5 3 1 2 7 6])
<lang clojure>(sleep-sort [4 5 3 1 2 7 6])
;=> [1 2 3 4 5 6 7]</lang>
;=> [1 2 3 4 5 6 7]</lang>

=={{header|CoffeeScript}}==
=={{header|CoffeeScript}}==
{{works_with|node.js}}
{{works_with|node.js}}
Line 234: Line 234:
sys 0m0.024s
sys 0m0.024s
</lang>
</lang>

=={{header|Common Lisp}}==
=={{header|Common Lisp}}==
{{works_with|SBCL}}
{{works_with|SBCL}}
Line 301: Line 302:
{{out}}
{{out}}
<pre>1 2 3</pre>
<pre>1 2 3</pre>



=={{header|Delphi}}==
=={{header|Delphi}}==
Line 367: Line 367:
0 0 12 3 4 10 4 2 5 6 1 7 1 12 0 4
0 0 12 3 4 10 4 2 5 6 1 7 1 12 0 4
0 0 0 1 1 2 3 4 4 4 5 6 7 10 12 12
0 0 0 1 1 2 3 4 4 4 5 6 7 10 12 12
</pre>

=={{header|Elixir}}==
{{trans|Erlang}}
<lang elixir>defmodule Sort do
def sleep_sort(args) do
Enum.each(args, fn(arg) -> Process.send_after(self, arg, 5 * arg) end)
loop(length(args))
end
defp loop(0), do: :ok
defp loop(n) do
receive do
num -> IO.puts num
loop(n - 1)
end
end
end

Sort.sleep_sort [2, 4, 8, 12, 35, 2, 12, 1]</lang>

{{out}}
<pre>
1
2
2
4
8
12
12
35
</pre>
</pre>


Line 496: Line 527:


sorted 1 1 1 1 2 2 4 4 4 7 9</pre>
sorted 1 1 1 1 2 2 4 4 4 7 9</pre>

=={{header|Go}}==
=={{header|Go}}==
<lang go>package main
<lang go>package main
Line 1,296: Line 1,328:
<pre>&gt; scala SleepSort 1 9 8 7 6 5 3 4 5 2 0
<pre>&gt; scala SleepSort 1 9 8 7 6 5 3 4 5 2 0
0 1 2 3 4 5 5 6 7 8 9</pre>
0 1 2 3 4 5 5 6 7 8 9</pre>

=={{header|Swift}}==
=={{header|Swift}}==
<lang Swift>import Foundation
<lang Swift>import Foundation