Queue y Stack
En C#, las clases Queue<T> y Stack<T> se encuentran en el espacio de nombres System.Collections.Generic y proporcionan implementaciones de colas y pilas, respectivamente. Aquí tienes una explicación de ambas clases, su definición, uso y algunos de los métodos más útiles con ejemplos:
Queue<T> (Cola):
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Definición de una cola de enteros
Queue<int> cola = new Queue<int>();
// Agregar elementos a la cola
cola.Enqueue(1);
cola.Enqueue(2);
cola.Enqueue(3);
// Acceder y eliminar elementos de la cola
int primerElemento = cola.Dequeue();
Console.WriteLine($"Primer elemento de la cola: {primerElemento}");
// Iterar a través de la cola con foreach
foreach (int elemento in cola)
{
Console.WriteLine(elemento);
}
}
}
Métodos Útiles de Queue<T>:
Enqueue(T item): Agrega un elemento al final de la cola.
cola.Enqueue(4);
// Resultado: {2, 3, 4}
Dequeue(): Remueve y devuelve el elemento al frente de la cola.
int primerElemento = cola.Dequeue();
// Resultado: primerElemento = 2, cola = {3, 4}
Peek(): Devuelve el elemento al frente de la cola sin removerlo.
int primerElemento = cola.Peek();
// Resultado: primerElemento = 3, cola = {3, 4}
Stack<T> (Pila):
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Definición de una pila de enteros
Stack<int> pila = new Stack<int>();
// Agregar elementos a la pila
pila.Push(1);
pila.Push(2);
pila.Push(3);
// Acceder y eliminar elementos de la pila
int primerElemento = pila.Pop();
Console.WriteLine($"Primer elemento de la pila: {primerElemento}");
// Iterar a través de la pila con foreach
foreach (int elemento in pila)
{
Console.WriteLine(elemento);
}
}
}
Métodos Útiles de Stack<T>:
Push(T item): Agrega un elemento al tope de la pila.
pila.Push(4);
// Resultado: {3, 2, 1, 4}
Pop(): Remueve y devuelve el elemento en el tope de la pila.
int primerElemento = pila.Pop();
// Resultado: primerElemento = 3, pila = {2, 1, 4}
Peek(): Devuelve el elemento en el tope de la pila sin removerlo.
int primerElemento = pila.Peek();
// Resultado: primerElemento = 2, pila = {2, 1, 4}
Estos son algunos de los métodos más útiles proporcionados por las clases Queue<T> y Stack<T>. Ambas clases son estructuras de datos muy útiles para manejar datos en forma de colas y pilas, respectivamente. Puedes encontrar más información en la documentación oficial de Microsoft para Queue y Stack.