racket/collects/rnrs/sorting-6.rkt
2010-04-27 16:50:15 -06:00

20 lines
411 B
Racket

#lang scheme/base
(require scheme/mpair)
(provide list-sort
vector-sort
vector-sort!)
(define (list-sort < l)
;; FIXME (performance): `sort' internally converts
;; a list to an mlist!
(list->mlist (sort (mlist->list l) <)))
(define (vector-sort < v)
(list->vector (sort (vector->list v) <)))
(define (vector-sort! < v)
(let ([v2 (vector-sort < v)])
(vector-copy! v 0 v2)))