Skip to content

Commit cbd7d81

Browse files
committed
JavaScript Ejercicio: 1431 Implementar el Algoritmo de Ordenamiento Heap Sort en una Función
Implementar el Algoritmo de Ordenamiento Heap Sort en una Función con el lenguaje de programación JavaScript.
1 parent 4ba9c5b commit cbd7d81

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// Ejercicio 1431: Implementar el algoritmo de ordenamiento heap sort en una función.
2+
3+
var n;
4+
5+
function heapAuxiliar(datos, i) {
6+
let izquierda = 2 * i + 1;
7+
let derecha = 2 * i + 2;
8+
let maximo = i;
9+
10+
if (izquierda < n && datos[izquierda] > datos[maximo]) {
11+
maximo = izquierda;
12+
}
13+
14+
if (derecha < n && datos[derecha] > datos[maximo]) {
15+
maximo = derecha;
16+
}
17+
18+
if (maximo != i) {
19+
[datos[i], datos[maximo]] = [datos[maximo], datos[i]];
20+
heapAuxiliar(datos, maximo);
21+
}
22+
}
23+
24+
function heapSort(datos) {
25+
n = datos.length;
26+
27+
for (let i = Math.floor(n / 2); i >= 0; --i) {
28+
heapAuxiliar(datos, i);
29+
}
30+
31+
for (let i = datos.length - 1; i > 0; --i) {
32+
[datos[0], datos[i]] = [datos[i], datos[0]];
33+
--n;
34+
35+
heapAuxiliar(datos, 0);
36+
}
37+
}
38+
39+
let primos = [13, 2, 19, 5, 3, 7, 11, 23];
40+
console.log(primos);
41+
42+
console.log();
43+
44+
heapSort(primos)
45+
46+
console.log(primos);

0 commit comments

Comments
 (0)