c++のmultimapで特定のキーのi番目の要素を取得する方法を探しています。
例えば以下のようなプログラム文があります。
c++
1 2 3#include <stdio.h> 4#include <algorithm> 5#include <iostream> 6#include <string> 7#include <vector> 8#include <functional> 9#include <map> 10 11using namespace std; 12 13int main() { 14int i; 15 16multimap<string, int> mpp; 17 18for (i = 0; i < 10; i++) { 19if (i % 2 == 0) { 20mpp.insert(pair<string, int>("A", i)); 21} 22else { 23mpp.insert(pair<string, int>("B", i)); 24} 25} 26 27std::multimap<std::string, int>::iterator p; 28 29for (p = mpp.begin(); p != mpp.end(); p++) { 30cout << p->first << " " << p->second << endl; 31} 32 33getchar(); 34getchar(); 35return 0; 36}
実行結果は
A 0
A 2
A 4
A 6
A 8
B 1
B 3
B 5
B 7
B 9
となりますが、キー「B」の要素「5」だけを表示する方法はありますでしょうか。
この場合、「5」を検索したりするのではなく、キー「B」の2番目の要素を指し示す
方法を知りたいです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/29 04:54
2017/08/29 05:06
2017/08/29 05:31 編集
2017/08/29 05:50
2017/08/29 07:29