I need to write a recursive implementation of the retrieval operation for the array-based ADT list. The operation should have as parameters the array, an item, and the size of the array and return the position of the item. Since the array is being
passed as a parameter, this will be a private function in the class.
The function sould call itself with a smaller problem size.

This is the retrieval operation:
+retrieve ( in index:integer,
                 out dataItem:ListItemType,
                 out success:boolean)
So far I came up with this....how does it look??

void List::insert (int index, ListItemType newItem,
                          bool& success)
    success = bool( (index >= 1) &&
                             (index <= size +1) &&
                             (size < MAX_LIST) );
    if (success)
      for (int pos = size; pos >= index; --pos)
   items [translate (index)] = newItem;
I need the class and the private funtion, but not sure where how to add it in??
Thanks for the help!!