RosettaCodeData/Task/Knuth-shuffle/Clojure/knuth-shuffle.clj
2019-09-12 10:33:56 -07:00

4 lines
162 B
Clojure

(defn shuffle [vect]
(reduce (fn [v i] (let [r (rand-int i)]
(assoc v i (v r) r (v i))))
vect (range (dec (count vect)) 1 -1)))