在最后一个例子中读取std :: uniform_int_distribution,生成的序列是:
1 1 6 5 2 2 5 5 6 2
我如何保证所有生成的数字在它们之间有所不同?如果这是可能的,如果我们生成的数字多于游侠大小,那么预期的行为是什么?
我需要这个,因为我必须在cv::Mat
数十万(甚至数百万)行中随机选择少量行(比如说10个).
当然.对于真正的生成器,获取数字的可能性并不依赖于任何先前的数字.伪随机数生成器试图非常好地模拟这个属性.
如果你想生成没有重复的数字,那么你最好的选择是建立一个解决方案std::shuffle
:即定义你想要的数字,然后将它们洗牌.