Tengo un problema con la clasificación. ¿Cómo puedo obtener 2 números que cuando se intercambian ambos están en la posición correcta? Así que pienso, por ejemplo, en 3 y 4 porque intercambiarlos los coloca en la posición correcta. Quiero tener una variable booleana que diga que si 2 enteros intercambiados van a los lugares correctos, es verdadero, de lo contrario, es falso. Básicamente, por ejemplo, si en el ciclo estamos en el número entero 4, estamos verificando su índice propuesto, por lo que es (3). Luego usamos este índice para ver qué hay actualmente en este índice en elephantsOrderGiven, por lo que es 3. Luego, quiero verificar si 4 va al lugar de 3 se colocará correctamente (por lo tanto, en el índice 3 en el pedido propuesto) y si 3 va a el lugar de 4 se colocará correctamente índice (1 en el pedido propuesto). Entonces significa que 4 va al índice (3), 3 va al índice (1) y después del intercambio ambos son correctos, así que quiero tener una variable booleana si el intercambio de dos enteros los ubicará correctamente, porque por ejemplo 5 y 2 no serán corregidos posicionados, solo 2 lo serán.
let elephantsOrderGiven = [1, 4, 5, 3, 6, 2]; let proposedOrder = [5, 3, 2, 4, 6, 1]; for (let i = 0; i < elephantsOrderGiven.length; i++) { }Intercambio me refiero a esta operación:
temp = elephantsOrder[currentIndex]; elephantsOrder[currentIndex] = elephantsOrder[correctIndex]; elephantsOrder[correctIndex] = temp;Después de esta operación, los ejemplos 4 y 3 deben corregirse y colocarse como en el orden propuesto. Si no, la variable booleana debería dar Falso y el intercambio no debería ejecutarse, quiero decir que 4 y 3 deberían permanecer en sus posiciones actuales.