Random algorithms: random permutation of array elements