当前位置: 移动技术网 > IT编程>开发语言>.net > c#实现简易洗牌算法

c#实现简易洗牌算法

2020年07月27日  | 移动技术网IT编程  | 我要评论

实现思路:定义一个数组int[]  poker = new int[54]存放54张牌,每次随机抽出2张牌交换(考虑相等的情况,可以抽出的是同一张牌),抽取次数足够多牌就洗的越散。

 static void ShuffleCard() {
            //1.创建数组
            int[] pokers = new int[54];
            for (int i = 0; i < pokers.Length; i++)
            {
                pokers[i] = i;
            }
            //2:随机数更换两张   
            Random random = new Random();
            for (int i = 0; i < 200; i++)
            {
                int v1 = random.Next(0,54);//左闭右开
                int v2 = random.Next(0,54);//左闭右开
               
                //3.交换两个数
        
                int temp = pokers[v2];
                pokers[v2] = pokers[v1];
                pokers[v1] = temp;
                
            }
            foreach (var item in pokers)
            {
                Console.Write(item + " ");
            }

        }

 

本文地址:https://blog.csdn.net/qq_43282959/article/details/107574154

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网