In C++, Stacks are a type of container adaptor with LIFO(Last In First Out) type of working, where a new element is added at one end (top) and an element is removed from that end only. A pair is a simple container that stores data in a key and value format. In this article, we will learn how to create a stack of pairs in C++.
Example
Input: myPair1 = {1, “C++”}; myPair2 = {2, “Java”}; Output: myStack = [ {1, “C++”}, {2, “Java”} ]
Stack of Pairs in C++
To create a stack of pairs in C++, we will pass the template parameter in the stack declaration as a pair. This will create a stack where each element is a pair.
Syntax to Declare Stack of Multiset
stack <pair <keyType, valueType>> myStack;
C++ Program to Create a Stack of Pairs
The below example demonstrates how we can create a stack of pairs in C++.
// C++ Program to illustrate how to create a stack of pairs #include <iostream> #include <stack> #include <utility> using namespace std;
int main()
{ // Initialize two pairs
pair< int , string> myPair1 = make_pair(1, "C++" );
pair< int , string> myPair2 = make_pair(2, "Java" );
// Create a stack of pairs
stack<pair< int , string> > myStack;
myStack.push(myPair1);
myStack.push(myPair2);
// Print the stack of pairs
while (!myStack.empty()) {
pair< int , string> topPair = myStack.top();
myStack.pop();
cout << "{" << topPair.first << ", "
<< topPair.second << "}, " ;
}
cout << endl;
return 0;
} |
{2, Java}, {1, C++},
Time Complexity: O(N), where N is the number of pairs.
Auxiliary Space: O(N)