Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
21
Task/Knuth-shuffle/AWK/knuth-shuffle.awk
Normal file
21
Task/Knuth-shuffle/AWK/knuth-shuffle.awk
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# Shuffle an _array_ with indexes from 1 to _len_.
|
||||
function shuffle(array, len, i, j, t) {
|
||||
for (i = len; i > 1; i--) {
|
||||
# j = random integer from 1 to i
|
||||
j = int(i * rand()) + 1
|
||||
|
||||
# swap array[i], array[j]
|
||||
t = array[i]
|
||||
array[i] = array[j]
|
||||
array[j] = t
|
||||
}
|
||||
}
|
||||
|
||||
# Test program.
|
||||
BEGIN {
|
||||
len = split("11 22 33 44 55 66 77 88 99 110", array)
|
||||
shuffle(array, len)
|
||||
|
||||
for (i = 1; i < len; i++) printf "%s ", array[i]
|
||||
printf "%s\n", array[len]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue