En programación, especialmente cuando trabajamos con estructuras de datos, es común encontrarnos con términos como Stack, Push
, Pop
y Peek
. En este artículo te explicaré qué significa cada uno de estos conceptos y cómo se utilizan en el lenguaje C#.
📌 ¿Qué es un Stack (Pila)?
Un Stack (o pila en español) es una estructura de datos LIFO (Last In, First Out), lo que significa que el último elemento que se añade es el primero que se quita. Imagina una pila de platos: el último plato que colocas encima será el primero que retires.
En C#, puedes usar la clase Stack<T>
que pertenece al espacio de nombres System.Collections.Generic
.
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Stack<string> pila = new Stack<string>();
pila.Push("Plato 1");
pila.Push("Plato 2");
pila.Push("Plato 3");
Console.WriteLine("Elemento en la cima: " + pila.Peek());
Console.WriteLine("Elemento removido: " + pila.Pop());
Console.WriteLine("Elemento en la cima ahora: " + pila.Peek());
}
}
📥 Push: Añadir un elemento
El método Push()
se utiliza para insertar un nuevo elemento en la cima de la pila.
pila.Push("Nuevo elemento");
📤 Pop: Eliminar el último elemento
El método Pop()
elimina y devuelve el elemento que está en la cima de la pila.
string elementoEliminado = pila.Pop();
⚠️ ¡Ojo! Si la pila está vacía y llamas a Pop()
, lanzará una excepción (InvalidOperationException
).
👀 Peek: Ver el último elemento sin eliminarlo
El método Peek()
permite ver qué elemento está en la cima de la pila sin eliminarlo.
string elementoEnLaCima = pila.Peek();
✅ ¿Cuándo usar un Stack?
Los Stack
son útiles en escenarios como:
- Deshacer acciones en una aplicación.
- Evaluar expresiones matemáticas (por ejemplo, notación polaca inversa).
- Navegación web (ir hacia atrás/adelante).
- Recorrido de árboles o algoritmos DFS.
🧠 Conclusión
La estructura Stack<T>
es muy poderosa y sencilla de usar en C#. Aprender a manejar Push
, Pop
y Peek
te permitirá trabajar con lógica de retroceso, control de flujo y algoritmos más complejos. ¡No subestimes la utilidad de una buena pila!
Contenido restringido
Comments are closed