On 2 Aug 2000, Frank D. Cringle wrote: > Generating a random permutation algorithmically is not too easy. Oh really? int i, j, x; int a[N]; for (i = 0; i < N; ++i) a[i] = i; for (i = N - 1; i > 0; --i) { j = random(i); x = a[i]; a[i] = a[j]; a[j] = x; } where random(i) is a "good enough" PRNG generating an integer between 0 and i - 1 with the uniform distribution. The result is in a[]. The proof of correctness (i.e. that the aformentioned piece of code generates a pseudorandomly chosen permutation of (0, ..., N-1) with the uniform distribution) is left as an exercise for the reader. --Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ] "Resistance is futile. Open your source code and prepare for assimilation."
- updated load balancing qmail-qmqpc.c mods Austad, Jay
- Re: updated load balancing qmail-qmqpc.c mods JuanE
- Re: updated load balancing qmail-qmqpc.c mods Eric Cox
- RE: updated load balancing qmail-qmqpc.c mods Austad, Jay
- Re: updated load balancing qmail-qmqpc.c mods Frank D. Cringle
- Re: updated load balancing qmail-qmqpc.c m... JuanE
- Re: updated load balancing qmail-qmqpc.c m... Pavel Kankovsky
- Re: updated load balancing qmail-qmqpc... Frank D. Cringle
- Re: updated load balancing qmail-qmqpc.c mods JuanE
- Re: updated load balancing qmail-qmqpc.c m... James Raftery
- Re: updated load balancing qmail-qmqpc.c m... Michael T. Babcock
- Re: updated load balancing qmail-qmqpc.c mods JuanE
- RE: updated load balancing qmail-qmqpc.c mods Austad, Jay
- Re: updated load balancing qmail-qmqpc.c mods Michael T. Babcock
- RE: updated load balancing qmail-qmqpc.c mods Austad, Jay
- Re: updated load balancing qmail-qmqpc.c mods JuanE
- Re: updated load balancing qmail-qmqpc.c m... David Dyer-Bennet