• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Random sorting
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.
  • Follow-Ups:
    • Re: Random sorting
      • From: Greg Titus <email@hidden>
    • Re: Random sorting
      • From: "John C. Randolph" <email@hidden>
  • Prev by Date: Re: Internet programming, point me?
  • Next by Date: Re: Internet programming, point me?
  • Previous by thread: Re: Random sorting
  • Next by thread: Re: Random sorting
  • Index(es):
    • Date
    • Thread