草庐IT

java - 数组的随机洗牌

我需要随机打乱以下数组:int[]solutionArray={1,2,3,4,5,6,6,5,4,3,2,1};有什么功能可以做到吗? 最佳答案 使用集合来打乱一个原始类型数组有点过头了...自己实现该功能很简单,例如使用Fisher–Yatesshuffle:importjava.util.*;importjava.util.concurrent.ThreadLocalRandom;classTest{publicstaticvoidmain(Stringargs[]){int[]solutionArray={1,2,3,4,5

c++ - 如何洗牌 std::vector?

我正在寻找一种通用的、可重用的方法来在C++中对std::vector进行洗牌。这就是我目前的做法,但我认为它不是很有效,因为它需要一个中间数组并且它需要知道项目类型(本例中为DeckCard):srand(time(NULL));cards_.clear();while(temp.size()>0){intidx=rand()%temp.size();DeckCard*card=temp[idx];cards_.push_back(card);temp.erase(temp.begin()+idx);} 最佳答案 从C++11开始

javascript - 我怎样才能洗牌一个数组?

这个问题在这里已经有了答案:Howtorandomize(shuffle)aJavaScriptarray?(68个回答)关闭2年前。我想在JavaScript中洗牌一个元素数组,如下所示:[0,3,3]->[3,0,3][9,3,6,0,6]->[0,3,6,9,6][3,3,6,0,6]->[0,3,6,3,6] 最佳答案 使用themodernversionoftheFisher–Yatesshufflealgorithm:/***Shufflesarrayinplace.*@param{Array}aitemsAnarray

arrays - 如何每次都以相同的方式对数组进行洗牌?

调用Array#shuffle随机打乱一个数组,但我想重复打乱-即,每次都以相同的方式打乱。有办法吗?例如,我想调用shuffle_with_key(123)并每次都得到相同的结果。 最佳答案 Array#shuffle可以采用种子Random实例。a=[1,2,3,4]seed=1a.shuffle(random:Random.new(seed))#=>[4,1,3,2]a.shuffle(random:Random.new(seed))#=>[4,1,3,2]只需将seed=1替换为您要使用的任何随机种子即可。

ruby-on-rails - 如何洗牌 Resque 队列中的作业?

我有一个名为check_integrity的队列,里面有很多作业。当我为它运行一个worker时,它会先执行工作。是否可以洗牌该特定队列中的作业?我需要worker随机接受工作。请帮忙。谢谢。 最佳答案 解决此问题的一种方法是从队列中弹出条目,对它们进行批处理,打乱批处理,然后重新插入它们:key="resque:queue:bulk"total=Redis.current.llen(key)batch_size=5_000#anyvaluethatisgoodenoughforyoubatch=[]total.timesdo|i|

objective-c - 洗牌 NSMutableArray 的最佳方法是什么?

如果你有一个NSMutableArray,你如何随机打乱元素?(我对此有自己的答案,发布在下面,但我是Cocoa的新手,我很想知道是否有更好的方法。)更新:正如@Mukesh所指出的,从iOS10+和macOS10.12+开始,有一个-[NSMutableArrayshuffledArray]方法可用于随机播放。见https://developer.apple.com/documentation/foundation/nsarray/1640855-shuffledarray?language=objc详情。(但请注意,这会创建一个新数组,而不是在原地打乱元素。)

objective-c - 洗牌 NSMutableArray 的最佳方法是什么?

如果你有一个NSMutableArray,你如何随机打乱元素?(我对此有自己的答案,发布在下面,但我是Cocoa的新手,我很想知道是否有更好的方法。)更新:正如@Mukesh所指出的,从iOS10+和macOS10.12+开始,有一个-[NSMutableArrayshuffledArray]方法可用于随机播放。见https://developer.apple.com/documentation/foundation/nsarray/1640855-shuffledarray?language=objc详情。(但请注意,这会创建一个新数组,而不是在原地打乱元素。)

Java案例——斗地主简单操作——洗牌·发牌·看牌

需求:实现斗地主的洗牌、发牌、看牌分析:1.创建一个牌库,用于存放54张牌,使用ArrayList来实现2.创建两个数组1.存放牌的颜色分类colors,2存放具体牌3.将牌放入牌库4.洗牌,使用Collections.shuffle()方法实现5.定义发牌方法6.定义看牌方法代码:/**实现斗地主的简单操作洗牌、发牌、看牌**/publicclassFightAgainstLandlords{ publicstaticvoidmain(String[]args){   //创建一个牌库,用于存放54张牌,使用ArrayList来实现   ArrayListal=newArrayList();

Java案例——斗地主简单操作——洗牌·发牌·看牌

需求:实现斗地主的洗牌、发牌、看牌分析:1.创建一个牌库,用于存放54张牌,使用ArrayList来实现2.创建两个数组1.存放牌的颜色分类colors,2存放具体牌3.将牌放入牌库4.洗牌,使用Collections.shuffle()方法实现5.定义发牌方法6.定义看牌方法代码:/**实现斗地主的简单操作洗牌、发牌、看牌**/publicclassFightAgainstLandlords{ publicstaticvoidmain(String[]args){   //创建一个牌库,用于存放54张牌,使用ArrayList来实现   ArrayListal=newArrayList();