RosettaCodeData/Task/Knuth-shuffle/SETL/knuth-shuffle.setl
2023-12-16 21:33:55 -08:00

15 lines
358 B
Text

program knuth_shuffle;
setrandom(0);
array := [1..10];
print("Before shuffling:", array);
shuffle(array);
print("After shuffling: ", array);
proc shuffle(rw tup);
loop for i in [1..#tup-1] do
j := random [i+1..#tup];
[tup(i), tup(j)] := [tup(j), tup(i)];
end loop;
end proc;
end program;