洗牌算法只要注意到一点:余数肯定比被除数会小
这个算法我也是在网上看到的,现在弄过来。。。
调用
string[] arra = { "A", "A", "A", "A","2","2","2","2","3","3","3","3","4","4","4","4","5","5","5","5","6","6","6","6","7","7","7","7","8","8","8","8","9","9","9","9","10","10","10","10","J","J","J","J","Q","Q","Q","Q","K","K","K","K","大王","小王" };
get_rand_number(arra, 54);
//洗牌
public static void get_rand_number(string[] array, int length)
{
int index;
int value;
string median;
if (null == array || 0 == length)
return;
Random rd = new Random();
/* 每次发牌的时候任意分配待交换的数据 */
for (index = 0; index < length; index++)
{
int rddd = rd.Next();
value = rddd % length;
median = array[index];
array[index] = array[value];
array[value] = median;
}
for (int ss = 0; ss < array.Length; ss++)
{
Console.WriteLine(array[ss]);
}
Console.WriteLine("============");
Console.ReadLine();
}