Pila de pares en C++ STL con ejemplos

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;
}
Producción:

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:

Publicación traducida automáticamente

Artículo escrito por harshit23 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *