Skip to content

Commit 400c9e8

Browse files
authored
Merge pull request mouredev#1018 from AndresMCardenas/main
#3 - JavaScript
2 parents 5398b54 + a067bcc commit 400c9e8

File tree

1 file changed

+300
-0
lines changed

1 file changed

+300
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,300 @@
1+
/*
2+
* EJERCICIO:
3+
* - Muestra ejemplos de creación de todas las estructuras soportadas por defecto en tu lenguaje.
4+
* - Utiliza operaciones de inserción, borrado, actualización y ordenación.
5+
*
6+
7+
"""
8+
9+
# Creación de estructuras de datos
10+
11+
# Listas
12+
*/
13+
14+
let lista = [1, 2, 3, 4, 5, 6, 7, 8, 9];
15+
16+
// Inserción
17+
lista.push(10);
18+
console.log(lista);
19+
20+
// Borrado
21+
22+
lista.pop();
23+
console.log(lista);
24+
25+
// Actualización
26+
27+
lista[0] = 0;
28+
console.log(lista);
29+
30+
// Ordenación
31+
32+
lista.sort();
33+
console.log(lista);
34+
35+
// Diccionarios
36+
37+
let diccionario = {
38+
nombre: "Andres",
39+
apellido: "Cardenas",
40+
edad: 30,
41+
};
42+
43+
// Inserción
44+
45+
diccionario["sexo"] = "Masculino";
46+
console.log(diccionario);
47+
48+
// Borrado
49+
50+
delete diccionario["sexo"];
51+
console.log(diccionario);
52+
53+
// Actualización
54+
55+
diccionario["edad"] = 31;
56+
console.log(diccionario);
57+
58+
// Ordenación
59+
60+
// No aplica
61+
62+
// Tuplas
63+
64+
let tupla = [1, "Andres", 30];
65+
console.log(tupla);
66+
67+
// Inserción
68+
69+
tupla.push("Cardenas");
70+
console.log(tupla);
71+
72+
// Borrado
73+
74+
tupla.pop();
75+
console.log(tupla);
76+
77+
// Actualización
78+
79+
tupla[0] = 0;
80+
console.log(tupla);
81+
82+
// Ordenación
83+
84+
tupla.sort();
85+
console.log(tupla);
86+
87+
// Conjuntos son estructuras de datos que no permiten elementos repetidos
88+
89+
let conjunto = new Set([1, 2, 3, 4, 5, 6, 7, 8, 9]);
90+
console.log(conjunto);
91+
92+
// Inserción
93+
94+
conjunto.add(10);
95+
console.log(conjunto);
96+
97+
// Borrado
98+
99+
conjunto.delete(10);
100+
console.log(conjunto);
101+
102+
// Actualización no aplica dado que no permite dadp que no se tiene accesos a los elementos por indice
103+
104+
// Ordenación no aplica dado que no permite se tiene accesos a los elementos por indice
105+
106+
// Diccionarios ordenados
107+
108+
let diccionarioOrdenado = new Map([
109+
["nombre", "Andres"],
110+
["apellido", "Cardenas"],
111+
["edad", 30],
112+
]);
113+
114+
console.log(diccionarioOrdenado);
115+
116+
// busqueda
117+
118+
console.log(diccionarioOrdenado.get("nombre"));
119+
120+
121+
// Inserción
122+
123+
diccionarioOrdenado.set("sexo", "Masculino");
124+
console.log(diccionarioOrdenado);
125+
126+
// Borrado
127+
128+
diccionarioOrdenado.delete("sexo");
129+
console.log(diccionarioOrdenado);
130+
131+
// Actualización
132+
133+
diccionarioOrdenado.set("edad", 31);
134+
console.log(diccionarioOrdenado);
135+
136+
// Ordenación no se aplica dado que no tiene indice
137+
138+
// Pilas
139+
140+
let pila = [1, 2, 3, 4, 5, 6, 7, 8, 9];
141+
console.log(pila);
142+
143+
// Inserción
144+
145+
pila.push(10);
146+
console.log(pila);
147+
148+
// Borrado
149+
150+
pila.pop();
151+
console.log(pila);
152+
153+
// Actualización
154+
155+
pila[0] = 0;
156+
console.log(pila);
157+
158+
// Ordenación
159+
160+
pila.sort();
161+
console.log(pila);
162+
163+
// Colas
164+
165+
let cola = [1, 2, 3, 4, 5, 6, 7, 8, 9];
166+
console.log(cola);
167+
168+
// Inserción
169+
170+
cola.push(10);
171+
console.log(cola);
172+
173+
// Borrado
174+
175+
cola.shift();
176+
console.log(cola);
177+
178+
// Actualización
179+
180+
cola[0] = 0;
181+
console.log(cola);
182+
183+
// Ordenación
184+
185+
cola.sort();
186+
console.log(cola);
187+
188+
// Árboles son estructuras de datos no lineales que se componen de nodos o vértices y ramas u hojas
189+
190+
class Nodo {
191+
constructor(valor) {
192+
this.valor = valor;
193+
this.hijos = [];
194+
}
195+
}
196+
197+
class Arbol {
198+
constructor(valor) {
199+
this.raiz = new Nodo(valor);
200+
}
201+
}
202+
203+
let arbol = new Arbol(1);
204+
console.log(arbol);
205+
206+
// Inserción
207+
208+
arbol.raiz.hijos.push(new Nodo(2));
209+
console.log(arbol);
210+
211+
// Borrado
212+
213+
arbol.raiz.hijos.pop();
214+
console.log(arbol);
215+
216+
// Actualización
217+
218+
arbol.raiz.valor = 0;
219+
console.log(arbol);
220+
221+
// Ordenación no aplica dado que no tiene indice
222+
223+
// Grafos son estructuras de datos no lineales que se componen de nodos o vértices y aristas
224+
225+
// class Nodo {
226+
// constructor(valor) {
227+
// this.valor = valor;
228+
// this.hijos = [];
229+
// }
230+
// }
231+
232+
// class Grafo {
233+
// constructor(valor) {
234+
// this.raiz = new Nodo(valor);
235+
// }
236+
// }
237+
238+
// let grafo = new Grafo(1);
239+
// console.log(grafo);
240+
241+
// Inserción
242+
243+
// grafo.raiz.hijos.push(new Nodo(2));
244+
// console.log(grafo);
245+
246+
// // Borrado
247+
248+
// grafo.raiz.hijos.pop();
249+
// console.log(grafo);
250+
251+
// // Actualización
252+
253+
// grafo.raiz.valor = 0;
254+
// console.log(grafo);
255+
256+
// Ordenación no aplica dado que no tiene indice
257+
258+
// Matrices son estructuras de datos que se componen de filas y columnas
259+
260+
let matriz = [
261+
[1, 2, 3],
262+
[4, 5, 6],
263+
];
264+
console.log(matriz);
265+
266+
// Inserción
267+
268+
matriz.push([7, 8, 9]);
269+
console.log(matriz);
270+
271+
// Borrado
272+
273+
matriz.pop();
274+
console.log(matriz);
275+
276+
// Actualización
277+
278+
matriz[0][0] = 0;
279+
console.log(matriz);
280+
281+
// Ordenación
282+
283+
matriz.sort();
284+
console.log(matriz);
285+
286+
/*
287+
"""
288+
* DIFICULTAD EXTRA(opcional):
289+
* Crea una agenda de contactos por terminal.
290+
* - Debes implementar funcionalidades de búsqueda, inserción, actualización
291+
* y eliminación de contactos.
292+
* - Cada contacto debe tener un nombre y un número de teléfono.
293+
* - El programa solicita en primer lugar cuál es la operación que se quiere realizar,
294+
* y a continuación los datos necesarios para llevarla a cabo.
295+
* - El programa no puede dejar introducir números de teléfono no númericos y con más
296+
* de 11 dígitos(o el número de dígitos que quieras).
297+
* - También se debe proponer una operación de finalización del programa.
298+
299+
"""
300+
*/

0 commit comments

Comments
 (0)