C++ Notes: Example - erase

To remove an element at a given position in a sorted array, shift all the elements above it down one position.

void erase(int a[], int& n, int index) {
   // function:
   //    Removes key at a[index], shifting other values down as necessary.
   //    Updates number of elements in a.
   // parameters:
   //    a       inout  array of values.
   //    n       inout  number of values in a, a[0]..a[n-1]
   //    index   in     position to delete.
   // returns: nothing
   
   // Move all elements up down position.  i is destination.
   for (int i=index; i<n; i++) {
       a[i] = a[i+1];
   }
   n--;             // update count of items in a
   return;
}

Exercises

  1. Rewrite this using pointers.