我使用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上 –
生成隨機密鑰以獲得隨機值。使用迭代器隨機迭代幾次 –