打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【算法】扑克牌52张,无重复洗牌算法
private static void Shuffle () { string[] cardType = { '红桃', '黑桃', '方块', '梅花' }; string[] cardValue = { 'A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K' }; // 所有的卡牌,未打乱状态 List<string> allCard = new List<string>(); // 打乱后的结果 List<string> result = new List<string> (); // 生成52张牌,放到allCard数组里 for (int i = 0; i < cardType.Length; i ) { for (int j = 0; j < cardValue.Length; j ) { allCard.Add(cardType[i] cardValue[j]); } } // 定义随机数 Random random = new Random (); // 循环52次,把未打乱的卡牌数组乱序存到新的数组里 for (int i = 0; i < cardType.Length * cardValue.Length; i ) { // 定义一个随机的下标,范围是 0 ~ 有序数组的长度 int randomIndex = random.Next(0,allCard.Count); // 给新数组赋值,值是未打乱卡牌数组中的随机某个位置 result.Add(allCard[randomIndex]); // 将刚才随机过的下标数据从数组中移除 allCard.RemoveAt(randomIndex); } // 数组乱序数组中的所有数据,测试 foreach (var item in result) { Console.WriteLine (item); } }

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
什么是洗牌算法
字符串数组变换成int数组
Java转JSON串的几种方式
Unity3D中随机函数的应用
PHP将一数组遍历放到另一数组方法
字符串替换算法和模式匹配算法 - 微软亚洲工程院 - C++博客
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服