Pila en STL Las pilas son un tipo de adaptadores de contenedores con tipo de trabajo LIFO (último en entrar, primero en salir), donde se agrega un nuevo elemento en un extremo y (arriba) se elimina un elemento solo de ese extremo.
Par en STL El contenedor de par es un contenedor simple definido en el encabezado que consta de dos elementos de datos u objetos. Se hace referencia al primer elemento como ‘primero’ y al segundo elemento como ‘segundo’ y el orden es fijo (primero, segundo).
Pila de pares en STL: La pila de pares puede ser muy eficiente en el diseño de estructuras de datos complejas.
Sintaxis:
stack<pair<datatype, datatype>> stack_of_pair;
A continuación se muestra un ejemplo para mostrar la pila de pares:
// CPP program to demonstrate // the working of STL stack of pairs #include <bits/stdc++.h> using namespace std; // Print the current pair void printPair(pair<int, int> p) { cout << "(" << p.first << ", " << p.second << ") "; } // Print the Stack of Pairs void Showstack(stack<pair<int, int> > s) { while (!s.empty()) { printPair(s.top()); s.pop(); } cout << '\n'; } // Driver code int main() { stack<pair<int, int> > s; s.push({ 10, 20 }); s.push({ 15, 5 }); s.push({ 1, 5 }); s.push({ 5, 10 }); s.push({ 7, 9 }); cout << "Stack of Pairs: "; Showstack(s); cout << "\nSize of Stack of Pairs: " << s.size(); cout << "\nTop of Stack of Pairs: "; printPair(s.top()); cout << "\n\nRemoving the top pair\n"; s.pop(); cout << "Current Stack of Pairs: "; Showstack(s); return 0; }
Stack of Pairs: (7, 9) (5, 10) (1, 5) (15, 5) (10, 20) Size of Stack of Pairs: 5 Top of Stack of Pairs: (7, 9) Removing the top pair Current Stack of Pairs: (5, 10) (1, 5) (15, 5) (10, 20)
A continuación se muestran las imágenes para mostrar el funcionamiento de Stack of Pairs: