Sorting algorithms/Sleep sort: Difference between revisions

Content deleted Content added
Updated D entry
Add Racket entry
Line 550: Line 550:
;Sample output:
;Sample output:
<pre>sleep sort worked for: [3, 2, 4, 7, 3, 6, 9, 1]</pre>
<pre>sleep sort worked for: [3, 2, 4, 7, 3, 6, 9, 1]</pre>

=={{header|Racket}}==

<lang racket>
#lang racket

;; accepts a list to sort
(define (sleep-sort lst)
(define done (make-channel))
(for ([elem lst])
(thread
(λ ()
(sleep elem)
(channel-put done elem))))
(for/list ([_ (length lst)])
(channel-get done)))

;; outputs '(2 5 5 7 8 9 10)
(sleep-sort '(5 8 2 7 9 10 5))
</lang>


=={{header|REXX}}==
=={{header|REXX}}==