Sorting algorithms/Bubble sort: Difference between revisions
Content added Content deleted
(Updated D entry) |
(Racket version) |
||
Line 2,562: | Line 2,562: | ||
v <- c(9,8,7,3,1,100) |
v <- c(9,8,7,3,1,100) |
||
print(bubblesort(v))</lang> |
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}}== |
=={{header|REXX}}== |