El ordenamiento de Mona
Mona creó un método para ordenar un arreglo en orden ascendente.
Comenzando desde la izquierda del arreglo, compara los números por pares. Si el primer par está ordenado [número menor, número mayor], continúa con el siguiente. Si el primer par está ordenado [número mayor, número menor], intercambia los dos enteros antes de continuar con el siguiente par. Repite este proceso hasta llegar al final del arreglo.
Luego, vuelve al principio del arreglo y repite este proceso hasta que todo el arreglo esté ordenado.
Si el arreglo desordenado es [3, 9, 7, 4], realizará los siguientes pasos (ten en cuenta que Intercambios se refiere aquí al total acumulado de intercambios):
- Comienza con el primer par.
[3, 9]está en orden; continúa. Arreglo:[3, 9, 7, 4]. Intercambios:0.[9, 7]no está en orden. Intercambia. Arreglo:[3, 7, 9, 4]. Intercambios:1[9, 4]no está en orden. Intercambia. Arreglo:[3, 7, 4, 9]. Intercambios:2- Comprueba si el arreglo está ordenado. No lo está, así que vuelve a empezar por el primer par.
[3, 7]está en orden; continúa. Arreglo:[3, 7, 4, 9]. Intercambios:2[7, 4]no está en orden. Intercambia. Arreglo:[3, 4, 7, 9]. Intercambios:3.[7, 9]está en orden; continúa. Arreglo:[3, 4, 7, 9]. Intercambios:3.- Comprueba si el arreglo está ordenado. Lo está. Fin.
Ordenar el arreglo [3, 9, 7, 4] requiere 3 intercambios. Escribe una función que reciba un arreglo desordenado y devuelva la cantidad de intercambios necesarios para ordenarlo según el algoritmo de Mona.
Ejemplos
numberOfSwaps([5, 4, 3]) ➞ 3
numberOfSwaps([1, 3, 4, 5]) ➞ 0
numberOfSwaps([5, 4, 3, 2]) ➞ 6Notas
N/A