c++中如何在multimap中推送多个数据

How to push multiple data in multimap in c++?

本文关键字:数据 multimap c++      更新时间:2023-10-16

我在c++中用multimap容器实现了一个dfs:

multimap<int, int>g;

我们可以这样在图中添加边:

g.insert(make_pair(1,2));

现在我要用multimap实现Khushkal算法。但在这种情况下,每个节点又多了一个额外的数据,即权值。例如,现在我需要在multimap中存储(1,2,3)三个数据。

那么multimap声明是什么样子的呢?我怎么插入这样的节点呢?

您必须将一个项目映射到另一个项目上。选择您想使用的密钥。如果您决定使用一个键和两个值,则将一个整型映射到一对整型上。还可以选择使用pair作为键,并将其映射到int类型。

如果您只想存储包含三个元素的对或元组,则最好使用这些数据成员的(无序)集合。

选项1:

multimap<int, pair<int,int>>

选项2:

multimap<pair<int,int>,int>