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; } |
chevron_right
filter_none
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.
Recommended Posts:
- Sets of pairs in C++
- How to create an unordered_map of pairs in C++?
- Count the pairs of vowels in the given string
- Sorting Vector of Pairs in C++ | Set 1 (Sort by first and second)
- Priority queue of pairs in C++ (Ordered by first)
- Find all pairs (a,b) and (c,d) in array which satisfy ab = cd
- Remove first adjacent pairs of similar characters until possible
- Count pairs whose products exist in array
- Check if an array can be divided into pairs whose sum is divisible by k
- Count pairs from two sorted arrays whose sum is equal to a given value x
- Find k pairs with smallest sums in two arrays | Set 2
- Binary search in sorted vector of pairs
- Print all pairs in an unsorted array with equal sum
- Convert an array to reduced form | Set 2 (Using vector of pairs)
- Find k ordered pairs in array with minimum difference d