Scrivi una funzione che ruota un array intero di un dato numero k. k elementi dalla fine dovrebbero spostarsi all'inizio dell'array e tutti gli altri elementi dovrebbero spostarsi a destra per creare lo spazio.
La rotazione dovrebbe essere eseguita sul posto.
L'algoritmo non deve essere eseguito in più di O (n), dove n è la dimensione dell'array.
Anche una memoria costante deve essere utilizzata per eseguire l'operazione.
Per esempio,
se la matrice è inizializzata con elementi arr = {1, 2, 3, 4, 5, 6, 7, 8, 9}
ruotare (arr, 3) risulterà negli elementi {7, 8, 9, 1, 2, 3, 4, 5, 6}
rotate (arr, 6) risulterà {4, 5, 6, 7, 8, 9, 1, 2, 3}