Jump to content

Sorting algorithms/Sleep sort: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 359:
main :: IO ()
main = getArgs >>= sleepSort . map read</lang>
 
=={{header|Icon}} and {{header|Unicon}}==
 
The following solution only works in Unicon.
 
<lang unicon>global t
 
procedure main(A)
t := set()
every insert(t,mkThread(!A))
every spawn(!t) # start threads as closely grouped as possible
while (*t > 0) do write(<<@)
end
 
procedure mkThread(n) # 10ms delay scale factor
return create (delay(n*10),delete(t,&current),n@>&main)
end</lang>
 
Sample run:
 
<pre>
->ss 3 1 4 1 5 9 2 6
1
1
2
3
4
5
6
9
->
</pre>
 
=={{header|Java}}==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.