How to Create a Map of Arrays in C++?
Last Updated : 06 May, 2024
Improve
In C++, the std::map is a container that stores elements in a key-value pair, whereas std::array is a sequence container that stores elements in contiguous memory. In this article, we will learn how to create a map of arrays in C++.
Example:
Input:
arr1 = {1, 2, 3};
arr2 = {4, 5, 6};
arr3 = {7, 8, 9};
Output:
Map of Array: { {“first”, {1, 2, 3}},
{“second”, {4, 5, 6}},
{“third”, {7, 8, 9}} }
Map of Arrays in C++
To create a map of arrays in C++, we can use the std::array container provided by the STL library. The std::array is a container that encapsulates fixed-size arrays. We can use them to create a map of arrays.
Syntax to Create a Map of Arrays in C++
map< keytype, array<datatype, size>> map_name;
Here,
keytype
denotes the type of key you want to use in the map.datatype
denotes the type of data stored in the array.size
denotes the size of the array.map_name
is the name of the map of arrays.
C++ Program to Create Map of Arrays
The below program demonstrates how we can create a map of arrays in C++ STL.
// C++ Program to illustrate how to create a map of arrays
#include <array>
#include <iostream>
#include <map>
using namespace std;
int main()
{
// Creating a map of arrays
map<string, array<int, 3> > mapArr;
// Inserting elements into the map
mapArr["first"] = { 1, 2, 3 };
mapArr["second"] = { 4, 5, 6 };
// Printing the map of arrays
cout << "Elements in a Map of Arrays are: " << endl;
for (auto& it : mapArr) {
cout << it.first << " -> ";
for (int i : it.second) {
cout << i << " ";
}
cout << endl;
}
return 0;
}
Output
Elements in a Map of Arrays are: first -> 1 2 3 second -> 4 5 6
Time Complexity: O(N log N)
, where N
is the number of arrays.
Auxilliary Space: O(N * M), where M is the average size of the arrays.