CSharp
Tutorial CSharp: Conjuntos, colas y pilas
CSharp conjuntos colas pilas: manejo. Aprende a manejar conjuntos
Aprende CSharp GRATIS y certifícateExisten varias estructuras de datos que resultan son muy útiles para una variedad de algoritmos y situaciones en la programación, y vale la pena entender cómo se comportan y cuándo se deben usar. Aquí se mencionarán algunos de los más utilizados.
Todas las estructuras de datos a continuación se encuentra en el espacio de nombres System.Collections.Generic
, y requerirán de una directiva using
para poder ser utilizadas.
using System.Collections.Generic;
Conjuntos (Sets)
Un conjunto o set es una colección de elementos que no contiene duplicados. El equivalente más cercano en la biblioteca de clases de .NET es HashSet<T>
.
Crear un conjunto
Para crear un conjunto, puede instanciarse un objeto HashSet<T>
, donde T
es el tipo de elementos que el conjunto va a contener. Por ejemplo, un conjunto de enteros se puede crear de la siguiente manera:
HashSet<int> conjunto = new HashSet<int>();
Añadir elementos a un conjunto
Para añadir elementos a un conjunto, puede usarse el método Add
. Por ejemplo:
conjunto.Add(1);
conjunto.Add(2);
conjunto.Add(3);
Si se intenta añadir un elemento que ya existe en el conjunto, el método Add
no hará nada y devolverá false
. Esto no lanzará un error.
Eliminar elementos de un conjunto
Para eliminar elementos de un conjunto, puede usarse el método Remove
. Por ejemplo:
conjunto.Remove(1);
Este método devolverá true
si el elemento es eliminado correctamente. Si el conjunto no contiene el elemento a eliminar entonces devolverá false
, pero no lanzará ninguna excepción.
Verificar si un elemento está en el conjunto
Para verificar si un elemento está en el conjunto, puede usarse el método Contains
, que devolverá true
o false
en función de si el elemento aparece en el conjunto o no. Por ejemplo:
bool contiene = conjunto.Contains(2); // devuelve true
Colas (Queues)
Una cola o queue es una colección de elementos que sigue el principio de FIFO (First In, First Out), es decir, el primer elemento que se añade a la cola será el primer elemento en ser eliminado.
Crear una cola
Para crear una cola, puede instanciarse un objeto Queue<T>
. Por ejemplo, una cola de cadenas se puede crear de la siguiente manera:
Queue<string> cola = new Queue<string>();
Añadir elementos a una cola
Para añadir elementos a una cola, puede usarse el método Enqueue
. Por ejemplo:
cola.Enqueue("primer elemento");
cola.Enqueue("segundo elemento");
cola.Enqueue("tercer elemento");
Eliminar elementos de una cola
Para eliminar el primer elemento de una cola, puede usarse el método Dequeue
. Este método devolverá el elemento eliminado. Por ejemplo:
string primerElemento = cola.Dequeue(); // devuelve "primer elemento"
Con Dequeue
, los elementos son eliminados en el orden en el que fueron añadidos, siguiendo el principio FIFO.
Pilas (Stacks)
Una pila o stack es una colección de elementos que sigue el principio de LIFO (Last In, First Out), es decir, el último elemento que se añade a la pila será el primer elemento en ser eliminado.
Crear una pila
Para crear una pila, puede instanciarse un objeto Stack<T>
. Por ejemplo, una pila de enteros se puede crear de la siguiente manera:
Stack<int> pila = new Stack<int>();
Añadir elementos a una pila
Para añadir elementos a una pila, puede usarse el método Push
. Por ejemplo:
pila.Push(1);
pila.Push(2);
pila.Push(3);
Eliminar elementos de una pila
Para eliminar el último elemento añadido a una pila, puede usarse el método Pop
. Este método devolverá el elemento eliminado. Por ejemplo:
int ultimoElemento = pila.Pop(); // devuelve 3
Con Pop
, los elementos son eliminados en el orden inverso al orden en el que fueron añadidos, siguiendo el principio LIFO.
Ejercicios de esta lección Conjuntos, colas y pilas
Evalúa tus conocimientos de esta lección Conjuntos, colas y pilas con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Todas las lecciones de CSharp
Accede a todas las lecciones de CSharp y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A C#
Sintaxis
Creación De Proyecto C#
Sintaxis
Variables Y Constantes
Sintaxis
Tipos De Datos
Sintaxis
Operadores
Sintaxis
Control De Flujo
Sintaxis
Funciones
Sintaxis
Clases Y Encapsulación
Programación Orientada A Objetos
Objetos
Programación Orientada A Objetos
Constructores Y Destructores
Programación Orientada A Objetos
Herencia
Programación Orientada A Objetos
Polimorfismo
Programación Orientada A Objetos
Excepciones
Excepciones
Arrays Y Listas
Colecciones Y Linq
Diccionarios
Colecciones Y Linq
Conjuntos, Colas Y Pilas
Colecciones Y Linq
Uso De Consultas Linq
Colecciones Y Linq
Delegados
Programación Asíncrona
Eventos
Programación Asíncrona
Lambdas
Programación Asíncrona
Uso De Async Y Await
Programación Asíncrona
Tareas
Programación Asíncrona
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender las estructuras de datos: conjuntos, colas y pilas.
- Aprender a crear, añadir y eliminar elementos de conjuntos, colas y pilas.
- Conocer el uso de los métodos
Add
yRemove
para conjuntos,Enqueue
yDequeue
para colas, yPush
yPop
para pilas.