RosettaCodeData/Task/Knuth-shuffle/SETL/knuth-shuffle.setl

15 lines
358 B
Text
Raw Permalink Normal View History

2023-12-16 21:33:55 -08:00
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;