Desplazamientos a la izquierda y a la derecha
Crea dos funciones: una de desplazamiento a la izquierda y otra de desplazamiento a la derecha. Cada función recibirá un arreglo y un número que indica cuántas posiciones desplazarlo.
new int[]{1, 2, 3, 4, 5}
new int[]{2, 3, 4, 5, 1} // desplazamiento a la izquierda de 1
new int[]{5, 1, 2, 3, 4} // desplazamiento a la izquierda de 4
new int[]{5, 1, 2, 3, 4} // desplazamiento a la derecha de 1
new int[]{3, 4, 5, 1, 2} // desplazamiento a la derecha de 3Ejemplos
Program.leftShift(new int[]{1, 2, 3, 4}, 1) ➞ new int[]{2, 3, 4, 1}
Program.rightShift(new int[]{1, 2, 3, 4}, 1) ➞ new int[]{4, 1, 2, 3}
Program.leftShift(new int[]{1, 2, 3, 4, 5}, 3) ➞ new int[]{4, 5, 1, 2, 3}
Program.leftShift(new int[]{1, 2, 3, 4, 5}, 5) ➞ new int[]{1, 2, 3, 4, 5}
// Al desplazar el arreglo una vuelta completa, vuelves al orden inicial.
Program.leftShift(new int[]{1, 2, 3, 4, 5}, 6) ➞ new int[]{2, 3, 4, 5, 1}
// Las funciones deben aceptar cantidades de desplazamientos mayores que la longitud del arreglo.
// Considera la longitud del arreglo como el módulo.Notas
numpuede ser mayor que la cantidad de elementos del arreglo.numnunca será negativo.