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.