我正在为C++程序制作一个Deck类.它需要有两种方法:一种是从牌组顶部弹出一张牌,另一种是将牌组洗牌.我关心后者.
卡片表示为整数1到52(包括1和52).什么是最快的洗牌方法(假设'良好'的随机性水平)?
使用C#在给定范围内生成N个唯一数字的有效方法是什么?例如,生成1到50之间的6个唯一数字.懒惰的方法是简单地Random.Next()在循环中使用并将该数字存储在数组/列表中,然后重复并检查它是否已经存在等等.是否有更好的生成一组随机但唯一的数字的方法?要添加更多上下文,我想使用它们的索引从集合中选择N个随机项.
谢谢