title: Array rotation to the left (recursive)
body: <p>Disclaimer: it is an exercise, but it's not homework. </p>
  
  <p>Now, here we go. The exercise asks for the rotation of a generic array to the left, putting the first element in the last position, and doing it so with recursion. My thoughts:</p>
  
  <p>Here's the right rotation one I've written:</p>
  
  <pre><code> void moveArrayRight (int array[], int dim){
              if(dim!=1){
                  int holder;
                  holder = array[dim-1];
                  array[dim-1]=array[dim-2];
                  array[dim-2]=holder;
                  moveArrayRight(array, dim-1);
              }
   }
  </code></pre>
  
  <p>The thing is: I cannot (I think) use the same technique for the left one. I <em>could</em> add another parameter (technically, I could use whatever I want to), but I deeply dislike it. If possible, I would like to retain only two parameters. I also thought of doing something like using the last element of the array to store what is going to be in the next cell, but I don't know how to implement it mainly for a reason: I have no idea how to retain the original dimension of the array.</p>
  
  <p>Any thoughts, hints or something like that?</p>