如何获得随机元素提升 unordered_map?
Posted
技术标签:
【中文标题】如何获得随机元素提升 unordered_map?【英文标题】:how get a random element boost unordered_map? 【发布时间】:2017-02-27 02:19:40 【问题描述】:我使用 typedef boost::unordered_map。如何获取随机元素 v: c++ 03
代码:
member_1.insert(std::make_pair(gg, M2_NEW CGGList(gg)));
typedef boost::unordered_map<CGG, CGGList*> Map1;
Map1 member_1;
【问题讨论】:
生成随机key得到随机值。使用迭代器随机迭代多次 【参考方案1】:您将找不到有效的方法(错误的数据结构)。
但你总是可以:
auto random_it = std::next(member1.begin(), my_random(member2.size()));
my_random 的实现方式类似于 rand()%n
(不好)或使用 std::uniform_int_distribution<size_t>
(更好)。
【讨论】:
自动 ?我使用 C++ 03 所以?用正确的类型替换它。我没有看到问题。我正在回答这个问题,我不需要教 C++ 或为我认为的未知规范编写完整的解决方案。 问题是如何.. on 03以上是关于如何获得随机元素提升 unordered_map?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 unordered_map 中插入 3 个元素或其他奇数个元素?
std::unordered_map 如何表现? [C++]