Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
18
Task/Knuth-shuffle/REBOL/knuth-shuffle.rebol
Normal file
18
Task/Knuth-shuffle/REBOL/knuth-shuffle.rebol
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
REBOL [
|
||||
Title: "Fisher-Yates"
|
||||
Purpose: {Fisher-Yates shuffling algorithm}
|
||||
]
|
||||
|
||||
fisher-yates: func [b [block!] /local n i j k] [
|
||||
n: length? b: copy b
|
||||
i: n
|
||||
while [i > 1] [
|
||||
if i <> j: random i [
|
||||
error? set/any 'k pick b j
|
||||
change/only at b j pick b i
|
||||
change/only at b i get/any 'k
|
||||
]
|
||||
i: i - 1
|
||||
]
|
||||
b
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue