Dark Mode On/Off
LAST UPDATED: NOVEMBER 1, 2020

# C++ STL Multimap Program

Hello Everyone!

In this tutorial, we will learn about the concept of a Multimap in STL in the C++ programming language.

To understand the basic functionality of the Map Container in STL, we will recommend you to visit https://www.studytonight.com/cpp/stl/stl-container-map, where we have explained this concept in detail from scratch.

## What is a Multimap?

Multimap is similar to map with two additional functionalities:

1. Multiple elements can have the same or duplicate keys.

2. Multiple elements can have the same or duplicate key-value pair.

For a better understanding of its implementation, refer to the well-commented C++ code given below.

Code:

``````#include <iostream>
#include <bits/stdc++.h>

using namespace std;

int main()
{
cout << "\n\nWelcome to Studytonight :-)\n\n\n";
cout << " =====  Program to demonstrate the concept of Multimap (Part 1), in CPP  ===== \n\n\n";

cout << " Multimap is similar to map with two additional functionalities: \n1. Multiple elements can have same keys or \n2. Multiple elements can have same key-value pair.\n\n";

//Multimap declaration (Multimap with key and value both as integers)
multimap<int, int> m;

//Filling the elements by using the insert() method.
cout << "Filling the Multimap with key-value pairs of integers in random order."; //Map automatically stores them in increasing order of keys

//make_pair() is used to insert a key value pair into the map
m.insert(make_pair(3, 30));
m.insert(make_pair(2, 20));
m.insert(make_pair(5, 50));
m.insert(make_pair(9, 90));
m.insert(make_pair(1, 10));
m.insert(make_pair(3, 30));
m.insert(make_pair(3, 60));

cout << "\n\nThe number of elements in the Multimap are: " << m.size();

cout << "\n\nThe elements of the Multimap m are: ";

multimap<int, int>::iterator i;

for (i = m.begin(); i != m.end(); i++)
{
cout << "( " << i->first << ", " << i->second << " ) ";
}

//Copying one multimap into another
multimap<int, int> m1(m.begin(), m.end());

cout << "\n\nThe elements of the Multimap m1 are: ";

for (i = m1.begin(); i != m1.end(); i++)
{
cout << "( " << i->first << ", " << i->second << " ) ";
}

cout << "\n\n\n";

return 0;
}
``````

Output:

We hope that this post helped you develop a better understanding of the concept of a Multimap Container in STL and its implementation in C++. For any query, feel free to reach out to us via the comments section down below.

Keep Learning : )

Want to learn coding?
Try our new interactive courses.
Over 20,000+ students enrolled.