CSharp
Tutorial CSharp: Conjuntos, colas y pilas
CSharp conjuntos colas pilas: manejo. Aprende a manejar conjuntos colas y pilas en CSharp con ejemplos prácticos y detallados.
Aprende CSharp 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.
Otros ejercicios de programación de CSharp
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.
CRUD en C# de modelo Customer sobre una lista
Arrays y listas
Objetos
Excepciones
Eventos
Lambdas
Diccionarios en C#
Variables y constantes
Tipos de datos
Herencia
Operadores
Uso de consultas LINQ
Clases y encapsulación
Uso de consultas LINQ
Excepciones
Control de flujo
Eventos
Diccionarios
Tipos de datos
Conjuntos, colas y pilas
Lambdas
Conjuntos, colas y pilas
Uso de async y await
Tareas
Constructores y destructores
Operadores
Arrays y listas
Polimorfismo
Polimorfismo
Variables y constantes
Proyecto colecciones y LINQ en C#
Clases y encapsulación
Creación de proyecto C#
Uso de async y await
Funciones
Delegados
Delegados
Constructores y destructores
Objetos
Control de flujo
Funciones
Tareas
Proyecto sintaxis en C#
Herencia C Sharp
OOP en C Sharp
Diccionarios
Introducción a C#
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#
Introducción Y Entorno
Creación De Proyecto C#
Introducción Y Entorno
Variables Y Constantes
Sintaxis
Tipos De Datos
Sintaxis
Operadores
Sintaxis
Control De Flujo
Sintaxis
Funciones
Sintaxis
Estructuras De Control Iterativo
Sintaxis
Interpolación De Strings
Sintaxis
Estructuras De Control Condicional
Sintaxis
Manejo De Valores Nulos
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
Genéricos
Programación Orientada A Objetos
Métodos Virtuales Y Sobrecarga
Programación Orientada A Objetos
Clases Abstractas
Programación Orientada A Objetos
Interfaces
Programación Orientada A Objetos
Propiedades Y Encapsulación
Programación Orientada A Objetos
Métodos De Extensión
Programación Orientada A Objetos
Clases Y Objetos
Programación Orientada A Objetos
Clases Parciales
Programación Orientada A Objetos
Miembros Estáticos
Programación Orientada A Objetos
Tuplas Y Tipos Anónimos
Programación Orientada A Objetos
Arrays Y Listas
Colecciones Y Linq
Diccionarios
Colecciones Y Linq
Conjuntos, Colas Y Pilas
Colecciones Y Linq
Uso De Consultas Linq
Colecciones Y Linq
Linq Avanzado
Colecciones Y Linq
Colas Y Pilas
Colecciones Y Linq
Conjuntos
Colecciones Y Linq
Linq Básico
Colecciones Y Linq
Delegados Funcionales
Programación Funcional
Records
Programación Funcional
Expresiones Lambda
Programación Funcional
Linq Funcional
Programación Funcional
Fundamentos De La Programación Funcional
Programación Funcional
Pattern Matching
Programación Funcional
Testing Unitario Con Xunit
Testing
Excepciones
Excepciones
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.