我想在C++中洗牌一个数组,每次程序运行时,我想要有一个不同的随机洗牌。我有myArray
的长度。目前我正在使用:随机随机洗牌C++数组(每次不同)
random_shuffle(myArray, myArray+N)
但这样每次都会产生相同的洗牌。要包括一个随机数,我尝试过:
random_shuffle(myArray, myArray+N, rand()%i)
但我得到错误cannot convert parameter 3 from 'int' to 'int&'
。
我认为使用shuffle
函数取而代之,根据this example,但似乎我坚持使用2011年以前的编译器。
对不起,如果这是一个非常愚蠢的问题。对于这个特殊问题,我找不到任何东西,谷歌只是告诉我如何创建一个洗牌算法。
有没有愚蠢的问题,只有问题。有一段时间我甚至无法走路。 – SlySherZ 2014-11-06 18:37:46
[此链接](http://www.cplusplus.com/reference/algorithm/random_shuffle/)真的很好的参考。请看 – 2014-11-06 18:38:50
'rand()%i'的类型,它不是函数或可调用对象,请仔细看看示例 – user2485710 2014-11-06 18:38:59