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

Megalayer促销:美国圣何塞CN2线路VPS月付48元起/香港VPS月付59元起/香港E3独服月付499元起

Megalayer是新晋崛起的国外服务器商,成立于2019年,一直都处于稳定发展的状态,机房目前有美国机房,香港机房,菲律宾机房。其中圣何塞包括CN2或者国际线路,Megalayer商家提供了一些VPS特价套餐,譬如15M带宽CN2线路主机最低每月48元起,基于KVM架构,支持windows或者Linux操作系统。。Megalayer技术团队行业经验丰富,分别来自于蓝汛、IBM等知名企业。Mega...

Spinservers:美国圣何塞机房少量补货/双E5/64GB DDR4/2TB SSD/10Gbps端口月流量10TB/$111/月

Chia矿机,Spinservers怎么样?Spinservers好不好,Spinservers大硬盘服务器。Spinservers刚刚在美国圣何塞机房补货120台独立服务器,CPU都是双E5系列,64-512GB DDR4内存,超大SSD或NVMe存储,数量有限,机器都是预部署好的,下单即可上架,无需人工干预,有需要的朋友抓紧下单哦。Spinservers是Majestic Hosting So...

RackNerd美国大硬盘服务器促销:120G SSD+192TB HDD,1Gbps大带宽,月付$599,促销美国月付$服务器促销带宽

racknerd怎么样?racknerd最近发布了一些便宜美国服务器促销,包括大硬盘服务器,提供120G SSD+192TB HDD,有AMD和Intel两个选择,默认32G内存,1Gbps带宽,每个月100TB流量,5个IP地址,月付$599。价格非常便宜,需要存储服务器的朋友可以关注一下。RackNerd主要经营美国圣何塞、洛杉矶、达拉斯、芝加哥、亚特兰大、新泽西机房基于KVM虚拟化的VPS、...

洗牌算法为你推荐
有道云笔记网页版win10怎么用有道云笔记网页foxmail邮箱注册如何注册FOXMAIL邮箱的帐号啊?oracle索引什么是Oracle的函数索引?网关和路由器的区别网关和路由器的具体区别在哪里呀?备忘录模式华为荣耀5X怎么在手机上新建一个备忘录imqq官网中国v家官网网址清除电脑垃圾怎样清除电脑垃圾什么是SOA什么是中子刀?您了解吗?药品标准查询药品国家标准怎么查阅中科红旗北京中科红旗软件技术有限公司的介绍
成都虚拟空间 域名是什么 传奇服务器租用 vps安全设置 中文域名交易中心 过期已备案域名 128m内存 info域名 警告本网站 qq数据库 建立邮箱 网站卫士 泉州移动 美国免费空间 论坛主机 深圳域名 双11促销 hdchina godaddy退款 百度新闻源申请 更多