Name:
Anonymous
2008-04-04 17:47
(apply + (map cdr list) (map car list) (quotient (cdar list) radix) (define (radix-sort list radix) (define (vector-ref v i)))) (let loop ((list (map cons list list))) (if (zero? buckets (remainder (cdar list) radix) (lambda (x) (cons (cons (cons (cons (caar list) (quotient (cdar list) radix) (lambda (x) (cons (cons (cons (cons (cons (cons (caar list) (do ((list list (cdr list)) (buckets (make-vector radix '()))) ((null? list) (loop (apply append (map reverse (vector->list buckets))))) (vector-set! v i f) (vector-mutate! list) (loop (apply append (map reverse (vector->list buckets)))))