100 REM Knuth shuffle 110 RANDOMIZE 120 DIM B(51) 130 PRINT "BEFORE:" 140 FOR L0 = 0 TO 51 150 LET B(L0) = L0 160 PRINT B(L0);" "; 170 NEXT L0 180 FOR L0 = 51 TO 0 STEP -1 190 LET C = INT(RND*(L0+1)) 200 IF C <> L0 THEN 220 210 GOTO 250 220 LET T = B(C) 230 LET B(C) = B(L0) 240 LET B(L0) = T 250 NEXT L0 260 PRINT 270 PRINT 280 PRINT "AFTER:" 290 FOR L0 = 0 TO 51 300 PRINT B(L0);" "; 310 NEXT L0 320 PRINT 330 END