# Random sort demonstration

Thu May 23 09:51:12 EDT 2013

```Dick Kriesel wrote:

> command shuffle @rLines
>    sort rLines by random( 4294967295 ) -- note:  2^32-1
> end shuffle

Wouldn't that put the probability of sorting bottom-to-top unusually
high, since there the odds are 4294967292-to-1 that the sort integer
will exceed the number of lines in the list?

Chris Sheffield originally wrote:

> I have a list of three words that I need to be randomly sorted.
> I want to re-order the list so that the correct answer may be the
> second or third word, and not necessarily the first.

If we were to do this manually, we'd do something like:

1. Put a random line out of three lines into a new list.
This leaves us with two remaining lines, so:
2. Put a random line out of two lines after the new list.
This leaves us with just one so:
3. Put the remaining line at the bottom of the new list.

On a field containing lines with "rat", "cat", and "bat", this simple
script provides a reasonable distribution of results:

on mouseUp
put fld 1 into tList
put random(3) into n
put line n of tList into tNewList
delete line n of tList
put random(2) into n
put cr& line n of tList after tNewList
delete line n of tList
put cr& line 1 of tList after tNewList
put tNewList into fld 2
end mouseUp

I wouldn't use such a crude method for a long list, but for just three
lines it seems to get the job done.

Did I miss something in the original problem statement?

--