In my opinion apart from the standard algorithms std::max_element and std::min_element there are required algorithms like std::max_element_if and std::min_element_if that accept a predicate that selects elements of a sequence for which the maximum element and minimum element are searched.