RosettaCodeData/Task/Knuth-shuffle/Ring/knuth-shuffle.ring
2018-08-17 15:15:24 +01:00

28 lines
576 B
Text

# Project : Knuth shuffle
items = list(52)
for n = 1 to len(items)
items[n] = n
next
knuth(items)
showarray(items)
func knuth(items)
for i = len(items) to 1 step -1
j = random(i-1) + 1
if i != j
temp = items[i]
items[i] = items[j]
items[j] = temp
ok
next
func showarray(vect)
see "["
svect = ""
for n = 1 to len(vect)
svect = svect + vect[n] + " "
next
svect = left(svect, len(svect) - 1)
see svect
see "]" + nl