洗牌算法关于洗牌算法,请用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(); } }

DMIT(8.72美元)日本国际线路KVM月付8折起,年付5折

DMIT.io是成立于2018年的一家国外主机商,提供VPS主机和独立服务器租用,数据中心包括中国香港、美国洛杉矶和日本等,其中日本VPS是新上的节点,基于KVM架构,国际线路,1Gbps带宽,同时提供月付循环8折优惠码,或者年付一次性5折优惠码,优惠后最低每月8.72美元或者首年65.4美元起,支持使用PayPal或者支付宝等付款方式。下面列出部分日本VPS主机配置信息,价格以月付为例。CPU:...

Dynadot多种后缀优惠域名优惠码 ,.COM域名注册$6.99

Dynadot 是一家非常靠谱的域名注册商家,老唐也从来不会掩饰对其的喜爱,目前我个人大部分域名都在 Dynadot,还有一小部分在 NameCheap 和腾讯云。本文分享一下 Dynadot 最新域名优惠码,包括 .COM,.NET 等主流后缀的优惠码,以及一些新顶级后缀的优惠。对于域名优惠,NameCheap 的新后缀促销比较多,而 Dynadot 则是对于主流后缀的促销比较多,所以可以各取所...

HostNamaste$24 /年,美国独立日VPS优惠/1核1G/30GB/1Gbps不限流量/可选达拉斯和纽约机房/免费Windows系统/

HostNamaste是一家成立于2016年3月的印度IDC商家,目前有美国洛杉矶、达拉斯、杰克逊维尔、法国鲁贝、俄罗斯莫斯科、印度孟买、加拿大魁北克机房。其中洛杉矶是Quadranet也就是我们常说的QN机房(也有CC机房,可发工单让客服改机房);达拉斯是ColoCrossing也就是我们常说的CC机房;杰克逊维尔和法国鲁贝是OVH的高防机房。采用主流的OpenVZ和KVM架构,支持ipv6,免...

洗牌算法为你推荐
ipv6无网络访问权限本地连接IPv4 IPv6无网络访问权限微信收款语音播报怎么设置微信收款码声音怎么设置rbf神经网络MATLAB工具箱里的RBF神经网络newrb是什么算法google邮箱注册怎样创建google邮箱查字网騳骉,怎样读?拼音mindmanager破解版求亿图mac破解版百度云!!!天融信防火墙天融信下一代防火墙有那些特点和优势?丁奇王下七武海和四皇分别是谁?色库赤峰中色库博红烨锌业有限公司就是冶炼厂在 赤峰的 什么地方,一 人知道吗???layoutsubviewsios有没有类似tablayout的控件
如何注册域名 星星海 webhostingpad 服务器怎么绑定域名 本网站在美国维护 全站静态化 双11秒杀 亚马逊香港官网 服务器是干什么的 免费测手机号 多线空间 移动服务器托管 中国电信测速器 架设邮件服务器 华为云建站 开心online 香港博客 godaddy中文 服务器是什么意思 更多