2017-02-27 87 views
0

我使用typedef boost :: unordered_map。如何获得一个随机元素 五:C++ 03如何获得随机元素提升unordered_map?

代码:

member_1.insert(std::make_pair(gg, M2_NEW CGGList(gg))); 

    typedef boost::unordered_map<CGG, CGGList*> Map1; 
    Map1 member_1; 
+0

生成随机密钥以获得随机值。使用迭代器随机迭代几次 –

回答

0

你不会找到一种有效的方法(错误数据结构)。

但你总是可以:

auto random_it = std::next(member1.begin(), my_random(member2.size())); 

凡my_random想rand()%n(坏)来实现,或者使用std::uniform_int_distribution<size_t>(更好)。

+0

auto?我使用c + + 03 –

+0

所以?用适当的类型替换它。我没有看到问题。我正在回答这个问题,我不需要教我C++,或者为我认为的未知规格编写完整的解决方案。 – sehe

+0

问题是如何在03上 –