[ shuffle a n i j tmp; for (i = n - 1: i > 0: i--) { j = random(i + 1) - 1; tmp = a->j; a->j = a->i; a->i = tmp; } ];