RosettaCodeData/Task/Knuth-shuffle/Clojure/knuth-shuffle.clj

5 lines
162 B
Clojure
Raw Permalink Normal View History

2013-04-10 12:38:42 -07:00
(defn shuffle [vect]
(reduce (fn [v i] (let [r (rand-int i)]
2019-09-12 10:33:56 -07:00
(assoc v i (v r) r (v i))))
2013-04-10 12:38:42 -07:00
vect (range (dec (count vect)) 1 -1)))