remove_copy
Syntax:
  #include <algorithm>
  iterator remove_copy( iterator start, iterator end, iterator result, const TYPE& val );

The remove_copy() algorithm copies the range [start,end) to result but omits any elements that are equal to val.

remove_copy() returns an iterator to the end of the new range, and runs in linear time.