pila vacía() y tamaño de pila() en C++ STL

Las pilas son un tipo de adaptadores de contenedores con tipo de funcionamiento LIFO (Last In First Out), donde se agrega un nuevo elemento en un extremo y (arriba) se elimina un elemento solo de ese extremo.

pila::vacío()

La función empty() se usa para verificar si el contenedor de la pila está vacío o no. Sintaxis:

stackname.empty()
Parameters :
No parameters are passed.
Returns :
True, if stack is empty
False, Otherwise

Ejemplos:

Input :   mystack
          mystack.empty();
Output :  True
 
Input :   mystack = 1, 2, 3
Output :  False

Errores y excepciones 1. Muestra un error si se pasa el parámetro 2. No muestra ninguna garantía de lanzamiento de excepción. 

CPP

// CPP program to illustrate
// Implementation of empty() function
#include <iostream>
#include <stack>
using namespace std;
 
int main()
{
    stack<int> mystack;
    mystack.push(1);
 
    // Stack becomes 1
 
    if (mystack.empty()) {
        cout << "True";
    }
    else {
        cout << "False";
    }
    return 0;
}

Producción:

False

Aplicación: dada una pila de números enteros, encuentre la suma de todos los números enteros.

Input : 1, 8, 3, 6, 2
Output: 20

Algoritmo 1. Verifique si la pila está vacía, si no, agregue el elemento superior a una variable inicializada como 0 y extraiga el elemento superior. 2. Repita este paso hasta que la pila esté vacía. 3. Imprime el valor final de la variable. 

CPP

// CPP program to illustrate
// Application of empty() function
#include <iostream>
#include <stack>
using namespace std;
 
int main()
{
    int sum = 0;
    stack<int> mystack;
    mystack.push(1);
    mystack.push(8);
    mystack.push(3);
    mystack.push(6);
    mystack.push(2);
 
    // Stack becomes 1, 8, 3, 6, 2
 
    while (!mystack.empty()) {
        sum = sum + mystack.top();
        mystack.pop();
    }
    cout << sum;
    return 0;
}

Producción:

20
tamaño de la pila()

La función size() se usa para devolver el tamaño del contenedor de pila o el número de elementos en el contenedor de pila. Sintaxis:

stackname.size()
Parameters :
No parameters are passed.
Returns :
Number of elements in the container.

Ejemplos:

Input :   mystack = 0, 1, 2
          mystack.size();
Output :  3
 
Input :   mystack = 0, 1, 2, 3, 4, 5
          mystack.size();
Output :  6

Errores y excepciones 1. Muestra error si se pasa un parámetro. 2. No muestra garantía de lanzamiento de excepción. 

CPP

// CPP program to illustrate
// Implementation of size() function
#include <iostream>
#include <stack>
using namespace std;
 
int main()
{
    int sum = 0;
    stack<int> mystack;
    mystack.push(1);
    mystack.push(8);
    mystack.push(3);
    mystack.push(6);
    mystack.push(2);
 
    // Stack becomes 1, 8, 3, 6, 2
 
    cout << mystack.size();
 
    return 0;
}

Producción:

5

Aplicación: dada una pila de números enteros, encuentre la suma de todos los números enteros.

Input : 1, 8, 3, 6, 2
Output: 20

Algoritmo 1. Verifique si el tamaño de la pila es cero, si no, agregue el elemento superior a una variable inicializada como 0 y extraiga el elemento superior. 2. Repita este paso hasta que el tamaño de la pila sea 0. 3. Imprima el valor final de la variable. 

CPP

// CPP program to illustrate
// Application of size() function
#include <iostream>
#include <stack>
using namespace std;
 
int main()
{
    int sum = 0;
    stack<int> mystack;
    mystack.push(1);
    mystack.push(8);
    mystack.push(3);
    mystack.push(6);
    mystack.push(2);
 
    // Stack becomes 1, 8, 3, 6, 2
 
    while (mystack.size() > 0) {
        sum = sum + mystack.top();
        mystack.pop();
    }
    cout << sum;
    return 0;
}

Producción:

20

Veamos las diferencias en forma tabular -:

  pila vacía() tamaño de la pila()
1. Se utiliza para devolver si la pila está vacía. Se utiliza para devolver el número de elementos en la pila.
2.

Su sintaxis es -:

vacío();

Su sintaxis es -:

Talla();

3. Su tipo de retorno es booleano. Su tipo de retorno es de entero.
4. No toma ningún parámetro. No toma ningún parámetro.
5. Su complejidad es constante. Su complejidad es constante.

Publicación traducida automáticamente

Artículo escrito por AyushSaxena 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 *