RosettaCodeData/Task/Knuth-shuffle/Clojure/knuth-shuffle.clj
2023-07-01 13:44:08 -04: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)))