馃敟 ALGORITMOS DE ORDENAMIENTO (SORTING)

驴Qu茅 son los algoritmos de ordenamiento?

Los algoritmos de ordenamiento son aquellos que reorganizan los elementos de una colecci贸n (por ejemplo un arreglo) de manera tal que dichos elementos finalizan con un determinado orden.

Supongamos tenemos un arreglo de n煤meros los cuales se encuentran desordenados. Podemos con este arreglo.

  • Ordenar los n煤meros de menor a mayor.
  • Ordenar los n煤meros de mayor a menor.

El ordenamiento de puede ser por ejemplo num茅rico o alfab茅tico.

驴Por qu茅 es importante aprender algoritmos de ordenamiento?

  • El ordenamiento es una tarea muy frecuente, as铆 que es bueno saber como funciona.
  • Hay muchas formas de saber como ordenar colecciones, y diferentes t茅cnicas con sus propias ventajas y desventajas.

Ordenamiento en javascript

En javascript hay funciones para ordenamiento pero no siempre funcionan como se quiere. Por ejemplo…

[6, 4, 15, 10].sort();
// [10, 15, 4, 6]

Si podemos ver la funci贸n sort considera al 1 como el elemento primordial y no hace el ordenamiento de menor a mayor como pudi茅ramos esperar y esto se debe a que todos los elementos son tratados como strings al momento de ser ordenados.

La funci贸n sort sin embargo acepta tambi茅n una funci贸n, si esta funci贸n retorna un valor negativo, el primer valor aparecer谩 antes del segundo y si regresa uno positivo el primer valor aparecer谩 despu茅s del segundo.

function compararNumeros(a, b) {
    return num1 - num2;
}

[2, 4, 3, 5, 7, 1].sort(compararNumeros);
// [1, 2, 3, 4, 5, 7]