¿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]