2010-08-08から1日間の記事一覧

バケツソート

(define (bucket-sort list n cmp-fn) (define (insertsort l) (let ((i 1)) (while (< i (length l)) (let ((j (- i 1)) (v (ref l i))) (while (and (>= j 0) (> (ref l j) v)) (swap l (+ 1 j) j) (set! j (- j 1))) (set! (ref l (+ 1 j)) v)) (set! i (…

数え上げソート(counting sort)

(define (counting-sort list k cmp-fn) (let ((vec (list->vector list)) (counter (make-vector k 0)) (i 0) (idx 0)) (while (< i (length list)) (vector-set! counter (vector-ref vec i) (+ (vector-ref counter (vector-ref vec i)) 1)) (set! i (+ 1…