std::multimap 按照key遍历

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了std::multimap 按照key遍历相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <unordered_map>

using namespace std;

int main()
{
    unordered_multimap<int, int> umap;
    umap.insert({ 1, 1 });

    umap.insert({ 2, 2 });
    umap.insert({ 2, 1 });

    umap.insert({ 3, 3 });
    umap.insert({ 3, 1 });
    umap.insert({ 3, 2 });
    for(auto it = umap.begin(); it != umap.end(); it = umap.upper_bound(it->first))
    {
        auto range = umap.equal_range(it->first);
        cout << it->first << ":" << endl;
        while(range.first != range.second)
        {
            cout << "   " << range.first->second << endl;
            ++range.first;
        }
    }
    getchar();
    return 0;
}

运行结果:

技术分享

 

以上是关于std::multimap 按照key遍历的主要内容,如果未能解决你的问题,请参考以下文章

std::multimap<key, value> 和 std::map<key, std::set<value> 有啥区别?

c++11 标准模板(STL)(std::unordered_multimap)

c++11 标准模板(STL)(std::unordered_multimap)

c++11 标准模板(STL)(std::unordered_multimap)

std::multimap 编译错误

std::multimap::find 将返回哪个元素,类似地 std::multiset::find?