我如何在不重复的情况下随机遍历向量的每个元素

时间:2019-10-17 15:06:21

标签: c++ c++11 vector

我尝试将rand()srand()一起使用以生成随机索引号,但是我仍然得到索引重复,是否还有其他方法可以迭代向量的所有元素?向量元素 我无法random_shuffle(),因为随机混洗会更改顺序至关重要的矢量元素的顺序。

1 个答案:

答案 0 :(得分:10)

使用std::iota用索引填充向量。然后使用std::shuffle来随机整理索引向量。使用索引向量来迭代您的主向量。

实施留给OP进行。