鸟语天空
对数组随机排序
post by:追风剑情 2016-1-13 20:15
public static void RandSortArray(List<int> arr)
{
        int size = arr.Count;
        int seed = 10000;
        //对给定数组随机排序, 每组排列的概率都为 1/size的阶乘
        System.Random rand = new System.Random();
        for (int i = 0; i < size; i++)
        {
            int randIndex = (int)(rand.Next(seed) % (size - i)) + i;//产生一个[i, size-1]的随机数
            int j = arr[i];
            arr[i] = arr[randIndex];
            arr[randIndex] = j;
        }
}
评论:
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容