Open In App

How to Create a Map of Arrays in C++?

Last Updated : 13 Mar, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

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++
// 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.




Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads