quicksort
(defn quick-sort [xs]
(if (empty? xs)
[]
(let [head (first xs) tail (rest xs)]
(concat
(quick-sort (filter #(<= % head) tail))
[head]
(quick-sort (filter #(> % head) tail))))))
(let [xs (sort-by rand (range 1 20))]
(println xs)
(println (quick-sort xs)))INFO