我有一个多图,我想将其中的所有唯一键存储在 vector 中。
multimap<char,int> mymm;
multimap<char,int>::iterator it;
char c;
mymm.insert(pair<char,int>('x',50));
mymm.insert(pair<char,int>('y',100));
mymm.insert(pair<char,int>('y',150));
mymm.insert(pair<char,int>('y',200));
mymm.insert(pair<char,int>('z',250));
mymm.insert(pair<char,int>('z',300));
我怎样才能做到这一点?有一种方法可以计算带有键的元素数量,但没有一种方法可以计算多图中唯一键的数量。
已添加:通过唯一,我是说多重映射中的所有键一次-它们可以重复或在多重映射中出现一次。
因此,这里的唯一键是- x , y 和 z
最佳答案
我尝试了这个并且有效
for( multimap<char,int>::iterator it = mymm.begin(), end = mymm.end(); it != end; it = mymm.upper_bound(it->first))
{
cout << it->first << ' ' << it->second << endl;
}