一:函数原型
max_element() 求取区间中的最大值
template<class ForwardIt>
ForwardIt max_element(ForwardIt first, ForwardIt last);
template<class ForwardIt, class Compare>
ForwardIt max_element(ForwardIt first, ForwardIt last, Compare comp );
min_element() 求取区间中的最小值
template<class ForwardIt>
ForwardIt min_element(ForwardIt first, ForwardIt last);
template<class ForwardIt, class Compare>
ForwardIt min_element(ForwardIt first, ForwardIt last, Compare comp);
其中参数 first,last表示区间范围
comp表示自定义的比较函数
函数返回 一个迭代器
二:例子
int main(){
int a[] = {1,2,3,4,5};
int maxnum = *max_element(a,a+5)
int minnum = *min_element(a,a+5);
cout << maxnum <<endl;
cout << minnum << endl;
return 0;
}
运行结果:
5
1
贴一种函数实现方法:
template<class ForwardIt>
ForwardIt max_element(ForwardIt first, ForwardIt last)
{
if (first == last) {
return last;
}
ForwardIt largest = first;
++first;
for (; first != last; ++first) {
if (*largest < *first) {
largest = first;
}
}
return largest;
}