¿Qué es Stack en C #?
La pila es una colección de casos especiales que representa un concepto de último en entrar, primero en salir (LIFO). Para entender primero LIFO, tomemos un ejemplo. Imagine una pila de libros con cada libro uno encima del otro.
El concepto de último en entrar, primero en salir en el caso de los libros significa que solo se puede quitar de la pila de libros la parte superior de la mayoría de los libros. No es posible quitar un libro de en medio, porque eso perturbaría la configuración de la pila.
Por lo tanto, en C #, la pila también funciona de la misma manera. Los elementos se agregan a la pila, uno encima del otro. El proceso de agregar un elemento a la pila se denomina operación de inserción. Para eliminar un elemento de una pila, también puede eliminar el elemento superior de la pila. Esta operación se conoce como pop.
Veamos las operaciones disponibles para la colección Stack con más detalle.
Declaración de la pila
Se crea una pila con la ayuda del tipo Stack Data. La palabra clave "nuevo" se utiliza para crear un objeto de una pila. A continuación, el objeto se asigna a la variable st.
Stack st = new Stack()
Agregar elementos a la pila
El método push se utiliza para agregar un elemento a la pila. La sintaxis general de la declaración se da a continuación.
Stack.push(element)
Retirar elementos de la pila
El método pop se utiliza para eliminar un elemento de la pila. La operación pop devolverá el elemento superior de la pila. La sintaxis general de la declaración se da a continuación.
Stack.pop()
Contar
Esta propiedad se utiliza para obtener el número de elementos de la pila. A continuación se muestra la sintaxis general de esta declaración.
Stack.Count
Contiene
Este método se usa para ver si un elemento está presente en la pila. A continuación se muestra la sintaxis general de esta declaración. La declaración devolverá verdadero si el elemento existe, de lo contrario, devolverá el valor falso.
Stack.Contains(element)
Ahora veamos cómo funciona esto a nivel de código. Todo el código mencionado a continuación se escribirá en nuestra aplicación de consola. El código se escribirá en nuestro archivo Program.cs.
En el programa a continuación, escribiremos el código para ver cómo podemos usar los métodos mencionados anteriormente.
Ejemplo 1
En este ejemplo, veremos
- Cómo se crea una pila.
- Cómo mostrar los elementos de la pila y usar los métodos Count y Contain.
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Stack st = new Stack();st.Push(1);st.Push(2);st.Push(3);foreach (Object obj in st){Console.WriteLine(obj);}Console.WriteLine(); Console.WriteLine();Console.WriteLine("The number of elements in the stack " +st.Count);Console.WriteLine("Does the stack contain the elements 3 "+st.Contains(3));Console.ReadKey();}}}
Explicación del código: -
- El primer paso se utiliza para declarar la pila. Aquí estamos declarando "st" como una variable para contener los elementos de nuestra pila.
- A continuación, agregamos 3 elementos a nuestra pila. Cada elemento se agrega mediante el método Push.
- Ahora, dado que no se puede acceder a los elementos de la pila a través de la posición del índice como la lista de matrices, necesitamos usar un enfoque diferente para mostrar los elementos de la pila. El objeto (obj) es una variable temporal, que se declara para contener cada elemento de la pila. Luego usamos la instrucción foreach para revisar cada elemento de la pila. Para cada elemento de la pila, el valor se asigna a la variable obj. Luego usamos el comando Console.Writeline para mostrar el valor en la consola.
- Estamos usando la propiedad Count ( st.count ) para obtener la cantidad de elementos en la pila. Esta propiedad devolverá un número. Luego mostramos este valor en la consola.
- Luego usamos el método Contains para ver si el valor de 3 está presente en nuestra pila. Esto devolverá un valor verdadero o falso. Luego mostramos este valor de retorno a la consola.
Si el código anterior se ingresa correctamente y el programa se ejecuta, se mostrará el siguiente resultado.
Producción:
En la salida, podemos ver que se muestran los elementos de la pila. Además, se muestra el valor de Verdadero para indicar que el valor de 3 está definido en la pila.
Nota : Ha notado que el último elemento insertado en la pila se muestra primero. Este es el elemento más alto de la pila. El recuento de elementos de la pila también se muestra en la salida.
Ejemplo 2
Ahora veamos la funcionalidad "eliminar". Veremos el código necesario para eliminar el elemento superior de la pila.
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Stack st = new Stack();st.Push(1);st.Push(2);st.Push(3);st.Pop();foreach (Object obj in st){Console.WriteLine(obj);}Console.ReadKey();}}}
Explicación del código: -
- Aquí solo emitimos el método pop que se usa para eliminar un elemento de la pila.
Si el código anterior se ingresa correctamente y el programa se ejecuta, se mostrará el siguiente resultado.
Producción:
Podemos ver que el elemento 3 se eliminó de la pila.
Resumen
- Una pila se basa en el concepto de último en entrar, primero en salir. La operación de agregar un elemento a la pila se llama operación de inserción. La operación de eliminar un elemento de la pila se llama operación pop.