Map of pairs in STL

Map in STL is used to hash key and value. We generally see map being used for standard data types. We can also use map for pairs.

For example consider a simple problem, given a matrix and positions visited, print which positions are not visited.

// C++ program to demonstrate use of map
// for pairs
#include <bits/stdc++.h>
using namespace std;
  
map<pair<int, int>, int> vis;
  
// Print positions that are not marked
// as visited
void printPositions(int a[3][3])
{
    for (int i = 0; i < 3; i++)
        for (int j = 0; j < 3; j++)
            if (vis[{ i, j }] == 0)
                cout << "(" << i << ", " << j << ")"
                     << "\n";
}
  
int main()
{
    int mat[3][3] = { { 0, 1, 2 }, { 3, 4, 5 }, { 6, 7, 8 } };
  
    // Marking some positions as visited
    vis[{ 0, 0 }] = 1; // visit (0, 0)
    vis[{ 1, 0 }] = 1; // visit (1, 0)
    vis[{ 1, 1 }] = 1; // visit (1, 1)
    vis[{ 2, 2 }] = 1; // visit (2, 2)
  
    // print which positions in matrix are not visited by rat
    printPositions(mat);
    return 0;
}

Output:

(0, 1)
(0, 2)
(1, 2)
(2, 0)
(2, 1)

This article is contributed by Abhishek Rajput. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.