c++ - 如何获取 multimap 中的所有唯一键

标签 c++ stl std multimap

我有一个多重映射,我希望将其中的所有唯一键存储在一个 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));

我该怎么做?有办法用一个键计算元素的数量,但没有办法计算多重映射中唯一键的数量。

添加:唯一是指 multimap 中的所有键一次 - 它们可以在 multimap 中重复或出现一次。

这里的唯一键是 - xyz

最佳答案

我试过了,效果很好

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;
  }

关于c++ - 如何获取 multimap 中的所有唯一键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11554932/

相关文章:

c++ - 查找数字序列中的间隙

c++ - 如何使用 std::regex_replace 将字符串替换为小写?

c++ - 在 Linux Mint 17.1 64 位(未声明/不是类型)上尝试 "make"C++ 项目时从 cstdlib 编译错误和类似错误

c++ - std::map::insert 无限循环用于不正确的 value_type

c++ - 有没有更简洁的方法将 std::string 合并到 std::vector<char> 中?

c++ - 在从一本书中复制的代码中获取未声明的标识符

c++ - 使用Quazip构建c++ Qt CLI工具

c++ - 错误 : MFC projects cannot define _ATL_NO_EXCEPTIONS

c++ - 你如何调试 MinGW 异常处理?

c++ - std::map operator [] - 未定义的行为?