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.
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
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