Re: Random sorting
Re: Random sorting
- Subject: Re: Random sorting
- From: Ben Dougall <email@hidden>
- Date: Mon, 6 Jan 2003 21:25:36 +0000
Some years ago I worked on a card game and what we did was not to
shuffle the array but rather pick random values out of the array.
The card-dealing algorithm was:
pick a random number in the range of 0 to the number of cards.
Choose the card in that slot.
take the last card, and put it in the slot you just picked.
The first time, you pick a number from 0 to 51. The next time, you
pick a number from 0 to 50, and so on.
but surely that will allow you to pick the same thing twice, which
isn't what's wanted here?
i did this in c a little while ago
it went like this - generate two arrays. the first one containing all
the things you want to sort randomly - numbers or strings or whatever,
doesn't matter. generate the second array, the same length as the first
and fill it with random numbers - doesn't matter what the random range
is just so long as the range is substantially larger than the number of
items you've got to sort. then use a sort to sort both arrays at the
same time, and base the sort on the random numbers array... if that
makes sense.
that way you only get each thing once and only once, in a random order.
it's as efficient as the efficiency of the sort you use.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.