Sorting algorithms/Bubble sort: Difference between revisions

Racket version
(Updated D entry)
(Racket version)
Line 2,562:
v <- c(9,8,7,3,1,100)
print(bubblesort(v))</lang>
 
=={{header|Racket}}==
 
This bubble sort sorts the elelement in the vector v with regard to <?.
 
<lang racket>
#lang racket
 
(define (bubble-sort <? v)
(define len (vector-length v))
(define ref vector-ref)
(let loop ([again? #f])
(for ([i (in-range 0 (- len 1))]
[j (in-range 1 len)]
[vi v])
(when (<? (ref v j) vi)
(vector-set! v i (ref v j))
(vector-set! v j vi)
(set! again? #t)))
(when again? (loop #f)))
v)
</lang>
 
Example: Sorting a vector of length 10 with random entries.
<lang>
(bubble-sort < (for/vector ([_ 10]) (random 20)))
</lang>
 
 
=={{header|REXX}}==
Anonymous user