Biblioteca de pila C ++ - función stack ()

Descripción

El constructor de C ++ std::stack::stack()crea un contenedor de pila y asigna una copia del argumento ctnr a los elementos de la pila. Si no se proporciona el argumento ctnr, se construye una pila vacía con un elemento cero.

Declaración

A continuación se muestra la declaración del constructor std :: stack :: stack () del encabezado std :: stack.

C ++ 98

explicit stack (const container_type& ctnr = container_type());

C ++ 11

explicit stack (const container_type& ctnr);

Parámetros

ctnr - Tipo de contenedor que es el segundo parámetro de la plantilla de clase.

Valor devuelto

El constructor nunca devuelve valor.

Excepciones

Esta función miembro nunca lanza una excepción.

Complejidad del tiempo

Lineal es decir O (n)

Ejemplo

El siguiente ejemplo muestra el uso del constructor std :: stack :: stack ().

#include <iostream>
#include <stack>
#include <vector>

using namespace std;

int main(void) {   
   stack<int> s1;
   vector<int> v = {1, 2, 3, 4, 5};
   stack<int, vector<int>> s2(v);

   cout << "Size of stack s1 = " << s1.size() << endl;

   cout << "Contents of stack s2" << endl;
   while (!s2.empty()) {
      cout << s2.top() << endl;
      s2.pop();
   }

   return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

Size of stack s1 = 0
Contents of stack s2
5
4
3
2
1