Re: array random sort
- From: "Fred Mellender" <nospamPlease_fredm@xxxxxxxxxxxxxxx>
- Date: Thu, 17 Nov 2005 18:49:35 GMT
"gl" <gl@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:7E0D71F9-962F-4A97-9770-EC71E6659A33@xxxxxxxxxxxxxxxx
> How do I take an array or arraylist, and sort it randomly? Like suppose
> the
> items in it are (1,2,3,4,5) and I want to get it to be in a random order
> (2,3,1,4,5). How do you do that? I think it's a call to the array or array
> lists sort method, but i'm not exactly sure how you do it.
public static List<T> shuffledList(List<T> listToShuffle)
{
/*
* Make a new list of elements picked from listToShuffle
* in a random order.
*/
List<int> ints = new List<int>(listToShuffle.Count); //0, 1,
2, ...
for (int i = 0; i < listToShuffle.Count; i++)
ints.Add(i);
List<T> randList = new List<T>(listToShuffle.Capacity);
for (int k = 0; k < listToShuffle.Count; k++)
{
int randIndx = Common.rand.Next(ints.Count); //random
from 0, 2, .. not already picked
int randK = ints[randIndx];
randList.Add(listToShuffle[randK]);
ints.RemoveAt(randIndx);
}
return randList;
}
.
- Follow-Ups:
- Re: array random sort
- From: James Curran
- Re: array random sort
- From: Jon Skeet [C# MVP]
- Re: array random sort
- From: Fred Mellender
- Re: array random sort
- Prev by Date: Large number of records
- Next by Date: Re: Regular Expression problem
- Previous by thread: Large number of records
- Next by thread: Re: array random sort
- Index(es):
Relevant Pages
|