私はtypedef boost :: unordered_mapを使用しています。 ++ 03どのようにランダムな要素boost unordered_mapを得る?
コード:C:ランダム要素 Vを取得する方法を
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を使用しています。 ++ 03どのようにランダムな要素boost unordered_mapを得る?
コード:C:ランダム要素 Vを取得する方法を
member_1.insert(std::make_pair(gg, M2_NEW CGGList(gg)));
typedef boost::unordered_map<CGG, CGGList*> Map1;
Map1 member_1;
あなたは効率的な方法(間違ったデータ構造)を見つけることができません。
しかし、あなたのことができ、常に:my_randomはrand()%n
のように実装されるだろう
auto random_it = std::next(member1.begin(), my_random(member2.size()));
(はるか)(悪い)またはstd::uniform_int_distribution<size_t>
を使用。
auto?私はC++を使用して03 –
だから?適切なタイプに交換してください。私は問題を見ない。私はその質問に答えていました。私はC++を教えることや、未知の仕様に完全な解決策を書く必要はありません。 – sehe
質問はいかがですか03 –
乱数を生成するランダムキーを生成します。ランダムに何回か反復するイテレータを使用します。 –