Sorting algorithms/Sleep sort: Difference between revisions
Content deleted Content added
→{{header|Scala}}: Replaced very outdated code |
|||
Line 1,406: | Line 1,406: | ||
=={{header|Scala}}== |
=={{header|Scala}}== |
||
<lang scala>object SleepSort { |
<lang scala>object SleepSort { |
||
⚫ | |||
⚫ | |||
scala.concurrent.ops.spawn{ |
|||
val nums = args.map(_.toInt) |
|||
sort(nums) |
|||
Thread.sleep(nums.max * 21) // Keep the JVM alive for the example |
|||
⚫ | |||
} |
|||
⚫ | |||
sort(args map (_.toInt)) |
|||
} |
} |
||
⚫ | |||
nums.foreach(i => new Thread { |
|||
override def run() { |
|||
Thread.sleep(i * 20) // just `i` is unpredictable with small numbers |
|||
println(i) |
|||
⚫ | |||
}.start()) |
|||
}</lang> |
}</lang> |
||
Example: |
Example: |
||
<pre> |
<pre>$ scala SleepSort 1 3 6 0 9 7 4 2 5 8 |
||
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}}== |