C# Stack con ejemplos de Push &Pop
¿Qué es la pila 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. Imagina una pila de libros con cada libro colocado uno encima del otro.
El concepto de último en entrar, primero en salir en el caso de los libros significa que solo el libro superior se puede quitar de la pila de libros. No es posible quitar un libro del medio, porque eso alterarí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
Una pila se crea 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 usa para agregar un elemento a la pila. La sintaxis general de la declaración se proporciona a continuación.
Stack.push(element)
Eliminar 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 proporciona a continuación
Stack.pop()
Cuenta
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 a nivel de código. Todo el código mencionado a continuación se escribirá en nuestra aplicación Consola. El código se escribirá en nuestro archivo Program.cs.
En el siguiente programa, escribiremos el código para ver cómo podemos usar los métodos mencionados anteriormente.
Ejemplo 1:método Stack.Push()
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 usa para declarar la pila. Aquí estamos declarando "st" como una variable para contener los elementos de nuestra pila.
- Luego, agregamos 3 elementos a nuestra pila. Cada elemento se agrega a través del método Push.
- Ahora, dado que no se puede acceder a los elementos de la pila a través de la posición de índice como la lista de arreglos, 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 recorrer 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 el número de elementos en la pila. Esta propiedad devolverá un número. Luego mostramos este valor en la consola.
- Luego usamos el método Contiene 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 en la consola.
Si el código anterior se ingresa correctamente y el programa se ejecuta, se mostrará el siguiente resultado.
Salida:
Desde la salida, podemos ver que se muestran los elementos de la pila. Además, el valor de True se muestra para indicar que el valor de 3 está definido en la pila.
Nota :Ha notado que el último elemento colocado en la pila se muestra primero. Este es el elemento superior de la pila. El recuento de elementos de la pila también se muestra en la salida.
Ejemplo 2:método Stack.Pop()
Ahora echemos un vistazo a 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 se ejecuta el programa, se mostrará el siguiente resultado.
Salida:
Podemos ver que el elemento 3 fue eliminado 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 denomina operación de inserción. La operación de eliminar un elemento de la pila se denomina operación pop.
Lenguaje C
- Expresiones, declaraciones y bloques de C# (con ejemplos)
- C++ do...while bucle con ejemplos
- Punteros de C++ con ejemplos
- Tipo de datos Char de C++ con ejemplos
- Sobrecarga de operadores de C++ con ejemplos
- Funciones de C++ con ejemplos de programas
- Tutorial de colecciones de C# con ejemplos
- Python String count () con EJEMPLOS
- Función Python round() con EJEMPLOS
- Función Python map() con EJEMPLOS
- Python Timeit() con ejemplos