我如何在没有重复的情况下随机迭代向量的每个元素

Ton*_*goa 0 c++ vector c++11

我尝试使用rand()with srand()生成随机索引号,但是我仍然得到重复的索引,是否还有其他方法可以遍历向量的所有元素?购买时可以随机获取索引而不影响向量元素random_shuffle()的顺序,因为随机混洗会改变向量的顺序顺序至关重要的元素。

Obl*_*ica 10

使用std :: iota用索引填充向量。然后使用std :: shuffle随机排列索引向量。使用索引向量迭代主向量。

实施留给OP作为实践。