我使用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;
我使用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;
你不会找到一种有效的方法(错误数据结构)。
但你总是可以:
auto random_it = std::next(member1.begin(), my_random(member2.size()));
凡my_random想rand()%n
(坏)来实现,或者使用std::uniform_int_distribution<size_t>
(更好)。
auto?我使用c + + 03 –
所以?用适当的类型替换它。我没有看到问题。我正在回答这个问题,我不需要教我C++,或者为我认为的未知规格编写完整的解决方案。 – sehe
问题是如何在03上 –
生成随机密钥以获得随机值。使用迭代器随机迭代几次 –