iwk #2279(2007/08/17 12:13 GMT) [ OCaml ] Rating-1/1=-1.00
1 2 3 4 5 6
#light let shuffle ls = let rnd = new System.Random() in List.sort (fun x y-> rnd.Next(-1,2)) ls;; let bingo n = shuffle [1..n]
Rating-1/1=-1.00-0+
1 reply [ reply ]
iwk #2316(2007/08/18 15:37 GMT) Rating1/1=1.00
このshuffle関数ではリストは完全にシャッフルされない。 具体的には [1..1000]というリストを与えた場合。 500 <-> 501, 10 <-> 15 などの近距離では問題ないが 1 <-> 1000 などの遠距離の交換が起こる可能性が極めて低い。 良い実装法だれか教えてください。
[ reply ]
iwk
#2279()
[
OCaml
]
Rating-1/1=-1.00
Rating-1/1=-1.00-0+
1 reply [ reply ]