randomize.ml1 2 3 4 5 6 7 8 9 10 11 12 13 14let rnd = Random.State.make_self_init () let list els = let arr = Array.of_list els in let sz = Array.length arr in for i = 0 to sz - 1 do let choices = sz - i in let pick = Random.State.int rnd choices in let tgt = sz - pick - 1 in let tmp = arr.(pick) in arr.(pick) <- arr.(tgt); arr.(tgt) <- tmp done; Array.to_list arr