首先,我不在乎seed
这个问题。
我的问题是,Random.self_init
每次我想在我的函数中重新开始时我是否应该打电话?
let shuffle l =
Random.self_init ();
let tagl = List.map (fun x -> (Random.bits (), x)) l in
List.map (fun x -> snd x) (List.sort compare tagl);;
例如,在上面的代码中,是否Random.self_init ()
有必要?