Escriba una función que rote una matriz entera por un número dado k. Los elementos k desde el final deben moverse hasta el comienzo de la matriz, y todos los demás elementos deben moverse hacia la derecha para hacer el espacio.
La rotación debe hacerse en el lugar.
El algoritmo no debe ejecutarse en más de O (n), donde n es el tamaño de la matriz.
También se debe utilizar una memoria constante para realizar la operación.
Por ejemplo,
si la matriz se inicializa con elementos arr = {1, 2, 3, 4, 5, 6, 7, 8, 9}
rotar (arr, 3) dará como resultado que los elementos sean {7, 8, 9, 1, 2, 3, 4, 5, 6}
rotar (arr, 6) dará como resultado {4, 5, 6, 7, 8, 9, 1, 2, 3}