Just to elaborate on what
BrowserUK said — It isn't enough for any given number to have an equal probability of ending up in any position. It has to have an equal probability of ending up in any position
irrespective of the positions of any other numbers. Clearly, under this algorithm, the number 1 will never be more than
b-1 places away from 2 (where
b is the block size). (In fact the constraint is tighter than that, but that's enough description to make the point.)