Skip to content

Commit 86d7d75

Browse files
authored
Merge pull request mouredev#6804 from Hequebo/hequebo18
#18 - C#
2 parents 08c199c + 171b61f commit 86d7d75

File tree

1 file changed

+138
-0
lines changed

1 file changed

+138
-0
lines changed

Roadmap/18 - CONJUNTOS/c#/hequebo.cs

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
class Program
2+
{
3+
static void Main(string[] args)
4+
{
5+
#region Conjuntos
6+
// Conjuntos
7+
Console.WriteLine("----Conjuntos----");
8+
var conjunto = new List<int> { 1, 2, 3, 4, 5, 6 };
9+
Console.Write("Conjunto inicial: ");
10+
Console.Write(string.Join(", ", conjunto));
11+
Console.WriteLine();
12+
13+
// Agregar elemento al final
14+
conjunto.Add(7);
15+
Console.Write("Agregar elemento al final con .Add(item): ");
16+
Console.Write(string.Join(", ", conjunto));
17+
Console.WriteLine();
18+
19+
// Agregar elemento al inicio
20+
conjunto.Insert(0, 0);
21+
Console.Write("Agregar elemento al inicio con .Insert(index, item): ");
22+
Console.Write(string.Join(", ", conjunto));
23+
Console.WriteLine();
24+
25+
// Agregar varios elementos al final del bloque
26+
conjunto.AddRange(new List<int> { 11, 12, 15, 14 });
27+
Console.Write("Agregar varios elementos al final con .AddRange(collection): ");
28+
Console.Write(string.Join(", ", conjunto));
29+
Console.WriteLine();
30+
31+
// Agregar varios elementos en posición concreta
32+
conjunto.InsertRange(8, new List<int> { 8, 9, 10 });
33+
Console.Write("Agregar varios elementos en posición específica con .InsertRange(index, collection): ");
34+
Console.Write(string.Join(", ", conjunto));
35+
Console.WriteLine();
36+
37+
// Eliminar elemnto en posición específica
38+
conjunto.RemoveAt(13);
39+
Console.Write("Eliminar un elemento en posición específica con .RemoveAt(index): ");
40+
Console.Write(string.Join(", ", conjunto));
41+
Console.WriteLine();
42+
43+
// Actualizar elemento en posición específica
44+
conjunto[13] = 13;
45+
Console.Write("Actualzar un elemento en posición específica con collection[index] = value: ");
46+
Console.Write(string.Join(", ", conjunto));
47+
Console.WriteLine();
48+
49+
// Comprobar si un elemento existe en el conjunto
50+
Console.WriteLine("Buscar elemento en conjubto con Contains(item)");
51+
if (conjunto.Contains(6))
52+
Console.WriteLine("Dentro del conjunto existe el elemento 6");
53+
54+
// Eliminar todo el contenido del conjunto
55+
conjunto.Clear();
56+
Console.WriteLine("Se eliminan todos los elmentos del conjunto to .Clear()");
57+
#endregion
58+
59+
#region Extra
60+
// Ejercicio Extra
61+
Console.ReadLine();
62+
Console.Clear();
63+
Console.WriteLine("----Extra----");
64+
var conjunto1 = new List<int> { 5, 7, 6, 2, 0 };
65+
var conjunto2 = new List<int> { 5, 3, 1, 0, 9 };
66+
67+
Console.Write("Primer conjunto: ");
68+
Console.Write(string.Join(", ", conjunto1));
69+
Console.WriteLine();
70+
71+
Console.Write("Segundo conjunto: ");
72+
Console.Write(string.Join(", ", conjunto2));
73+
Console.WriteLine();
74+
75+
76+
// Unión
77+
/*
78+
* La operación Union devuelve una colección con
79+
* todos los elementos únicos de las dos colecciones
80+
* especificacdas
81+
*/
82+
Console.WriteLine("---Union---");
83+
var union = from item in conjunto1.Union(conjunto2)
84+
select item;
85+
Console.Write("Resultado de la operación de conjuntos Union: ");
86+
Console.Write(string.Join(", ", union));
87+
Console.WriteLine();
88+
89+
// Intersección
90+
/*
91+
* La operación Intersección devuelve una
92+
* colección con elementos que se encuentran
93+
* en ambas colecciones
94+
*/
95+
Console.WriteLine("---Intersección---");
96+
var intersection = from item in conjunto1.Intersect(conjunto2)
97+
select item;
98+
Console.Write("Resultado de la operación de conjuntos Intersección: ");
99+
Console.Write(string.Join(", ", intersection));
100+
Console.WriteLine();
101+
102+
// Diferencia
103+
/*
104+
* La operación Diferencia devuelve una colección
105+
* con elementos de la primera colección que no se
106+
* encuentran en la segunda
107+
*/
108+
Console.WriteLine("---Diferencia---");
109+
var difference = from item in conjunto1.Except(conjunto2)
110+
select item;
111+
Console.Write("Resultado de la operación de conjuntos Diferencia: ");
112+
Console.Write(string.Join(", ", difference));
113+
Console.WriteLine();
114+
115+
// Diferencia Simétrica
116+
/*
117+
* La opercacion de Diferencia Simétrica
118+
* modifica el primer conjunto para que
119+
* contenga elementos que existen dentro de sí
120+
* o dentro del segundo conjunto, pero no en ambos
121+
*/
122+
Console.WriteLine("---Diferencia Simétrica---");
123+
/*
124+
* El método SymmetricExceptWith existe para la
125+
* estructura HashSet
126+
*/
127+
var hash1 = new HashSet<int>(conjunto1);
128+
var hash2 = new HashSet<int>(conjunto2);
129+
130+
hash1.SymmetricExceptWith(hash2);
131+
132+
Console.Write("Resultado de la operación de conjuntos Diferencia Simétrica: ");
133+
Console.Write(string.Join(", ", hash1));
134+
Console.WriteLine();
135+
#endregion
136+
137+
}
138+
}

0 commit comments

Comments
 (0)