March 2014 update
This commit is contained in:
parent
09687c4926
commit
a25938f123
1846 changed files with 21876 additions and 5203 deletions
|
|
@ -3,8 +3,8 @@ import std.stdio, std.algorithm, std.random, std.range;
|
|||
void knuthShuffle(Range)(Range r)
|
||||
if (isRandomAccessRange!Range && hasLength!Range &&
|
||||
hasSwappableElements!Range) {
|
||||
foreach_reverse (immutable i; 1 .. r.length)
|
||||
r[i].swap(r[uniform(0, i + 1)]);
|
||||
foreach_reverse (immutable i, ref ri; r[1 .. $ - 1])
|
||||
ri.swap(r[uniform(0, i + 1)]);
|
||||
}
|
||||
|
||||
void main() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue