首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于dalmeeme的洗牌算法,该如何处理

2012-04-12 
关于dalmeeme的洗牌算法C# code int[] numbers new int[100]for (int i 0 i 100 i++)numbers[i]

关于dalmeeme的洗牌算法

C# code
 int[] numbers = new int[100];        for (int i = 0; i < 100; i++)            numbers[i] = i;        Random rd = new Random();        int index, realLength = numbers.Length, temp;        for (int i = 0; i < 100; i++)        {            index = rd.Next(realLength);            Response.Write(numbers[index] + "<br/>");            temp = numbers[index];            numbers[index] = numbers[realLength - 1];            numbers[realLength - 1] = temp;            realLength--;        }


经过网友Arcan的提醒,我看了下他的算法实质是 for i:=1 to n do swap(a[i], a[random(i,n)]);
而并非for i:=1 to n do swap(a[i], a[random(1,n)]),只不过是倒着换的。
我没有看清楚算法就误认为他的解法有误,在此对他表示抱歉。

[解决办法]
嗯,是这样的。
[解决办法]
没事,他会理解的
[解决办法]
我接受楼主的道歉。这次冲突我也有过错,在这里也为向楼主道歉。

热点排行