我有一个多图,我想将其中的所有唯一键存储在 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;
  }

10-07 16:50