RosettaCodeData/Task/Knuth-shuffle/Zkl/knuth-shuffle.zkl
2023-07-01 13:44:08 -04:00

8 lines
196 B
Text

fcn kshuffle(xs){
foreach i in ([xs.len()-1..1,-1]){ xs.swap(i,(0).random(0,i+1)) }
xs
}
fcn kshufflep(xs){
[xs.len()-1..1,-1].pump(Void,'wrap(i){ xs.swap(i,(0).random(0,i+1)) })
xs
}