洗牌算法关于洗牌算法,请用JAVA编写,定义一个数组,储存1-52以内的数,打乱顺序输出!

洗牌算法  时间:2021-07-01  阅读:()

怎么证明这个洗牌算法是随机的

有一副牌假设有N张,请设计一个随机洗牌算法。

解决方案: 这里只给出一个可以使用数学证明每张牌出现在任何位置概率为1/N的算法。

Poker[N] for (i = 0; i < N; ++i) { k = rand() % ( i + 1) if (i != k) { switch(Poker[k], Poker[i]); }

关于洗牌算法,请用JAVA编写,定义一个数组,储存1-52以内的数,打乱顺序输出!

import java.util.Enumeration; import java.util.Hashtable;/** * 7. * 乱序扑克牌 洗牌方法 8. * 9. * * * @author virture 10. * 11. */ public class Cards { Hashtable htMember = new Hashtable();// 放置扑克牌的Hash表 public Cards() { } public void put(String card) { htMember.put(card, card); } public void get() { System.out.println("你拿到的牌是:"); Enumeration RLKey = htMember.keys(); while (RLKey.hasMoreElements()) { String Key = RLKey.nextElement().toString();// 取HashTable中的关键字词 System.out.print((String) htMember.get(Key) + ","); } } public static void main(String[] args) { String[] cards = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" }; String[] kinds = { "黑桃", "红桃", "梅花", "方块" }; Cards cardList = new Cards(); String suit;// 当前选中牌的类型 String face;// 当前选中牌 int randomCardNum = 52;// 当前随机取牌的个数,记住不能大于全部牌52张 while (true) { suit = kinds[Math.round((float) Math.random() * (kinds.length - 1))]; face = cards[Math.round((float) Math.random() * (cards.length - 1))]; cardList.put(suit + face); if (cardList.htMember.size() >= randomCardNum && cardList.htMember.size() <= 52) { break; } } cardList.get(); } }

UCloud云服务器香港临时补货,(Intel)CN2 GIA优化线路,上车绝佳时机

至今为止介绍了很多UCLOUD云服务器的促销活动,UCLOUD业者以前看不到我们的个人用户,即使有促销活动,续费也很少。现在新用户的折扣力很大,包括旧用户在内也有一部分折扣。结果,我们的用户是他们的生存动力。没有共享他们的信息的理由是比较受欢迎的香港云服务器CN2GIA线路产品缺货。这不是刚才看到邮件注意和刘先生的通知,而是补充UCLOUD香港云服务器、INTELCPU配置的服务器。如果我们需要他...

IonSwitch:$1.75/月KVM-1GB/10G SSD/1TB/爱达荷州

IonSwitch是一家2016年成立的国外VPS主机商,部落上一次分享的信息还停留在2019年,主机商提供基于KVM架构的VPS产品,数据中心之前在美国西雅图,目前是美国爱达荷州科德阿伦(美国西北部,西接华盛顿州和俄勒冈州),为新建的自营数据中心。商家针对新数据中心运行及4号独立日提供了一个5折优惠码,优惠后最低1GB内存套餐每月仅1.75美元起。下面列出部分套餐配置信息。CPU:1core内存...

Virtono:€23.7/年,KVM-2GB/25GB/2TB/洛杉矶&达拉斯&纽约&罗马尼亚等

Virtono最近推出了夏季促销活动,为月付、季付、半年付等提供9折优惠码,年付已直接5折,而且下单后在LET回复订单号还能获得双倍内存,不限制付款周期。这是一家成立于2014年的国外VPS主机商,提供VPS和服务器租用等产品,商家支持PayPal、信用卡、支付宝等国内外付款方式,可选数据中心包括罗马尼亚、美国洛杉矶、达拉斯、迈阿密、英国和德国等。下面列出几款VPS主机配置信息,请留意,下列配置中...

洗牌算法为你推荐
stackoverflowerrorJava-java产生StackOverflowError的原因是什么元宝网下载的手机元宝网软件是不是上不去啊?settimerMFC 中,全局SetTimer函数怎么用?最开放的浏览器目前最好的游览器?qq注册账号用QQ注册有几种方法?layout_gravityandroid 布局中 为什么能够通过android:layout_above 、android:layout_alignTop 、等 还要在之前加入色库photoshop7.0怎么改PANTONE色号51信用卡论坛51信用卡贷了1200 现在还不上怎么办中文搜索引擎百度是不是全球最大中文搜索引擎?12306注册铁路12306怎么注册用户名
海外服务器租用 厦门虚拟主机 出租服务器 腾讯云数据库 patcha 河南移动邮件系统 linux服务器维护 能外链的相册 免费网络 主机返佣 腾讯数据库 hostease 博客域名 重庆联通服务器托管 沈阳idc phpinfo ncp是什么 美国西雅图独立 ddos攻击器 ddos攻击小组 更多