たまにはコードとか書く!!
qsort [] = [] qsort (x:xs) = qsort [y | y <- xs, y < x] ++ [x] ++ qsort [y | y <- xs, y >= x]
マジかっこいいです。*1
Scheme(Gauche)でクイックソートはこんな感じなんですかね。
(use srfi-1) ; filter (use util.match) (define (qsort lis) (match lis ((x . xs) (append (qsort (filter (pa$ >= x) xs)) (list x) (qsort (filter (pa$ < x) xs)))) (else ())))