Knuth shuffle: Difference between revisions
Content added Content deleted
m (→{{header|Sidef}}: modified code to work with Sidef 2.10) |
|||
Line 2,671: | Line 2,671: | ||
=={{header|Sidef}}== |
=={{header|Sidef}}== |
||
<lang ruby>func shuffle |
<lang ruby>func shuffle(a) { |
||
{ |n| |
{ |n| |
||
var k = (n + 1 -> rand.int); |
var k = (n + 1 -> rand.int); |
||
k == n || (a[k, n] = a[n, k]); |
k == n || (a[k, n] = a[n, k]); |
||
} * a. |
} * a.end; |
||
return a; |
return a; |
||
} |
|||
}</lang> |
|||
say shuffle(1..10);</lang> |
|||
{{out}} |
|||
<pre> |
|||
[7, 4, 3, 8, 9, 6, 10, 2, 1, 5] |
|||
</pre> |
|||
=={{header|Smalltalk}}== |
=={{header|Smalltalk}}== |