insert(insertIndex, newElem);
/*
Shift to the right the element currently at "insertIndex" (if any) and all elements to the right
Insert passed arg "newElem" into position "insertIndex"
Valid "insertIndex" values are between 0 and "size"
If index = "size" then it becomes a simple "add" operation
If "insertIndex" is invalid, throws exception:
"(insert) Index %d is out of bounds"
*/