# 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.