一、函数原型
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,end——区间范围
comp——自定义比较函数
顾名思义,max_element就是求区间最大值,而min_element就是求区间最小值。当然也可以自定义比较函数达到自己想要的“最大值”或者“最小值
二、代码演示
#include <bits//stdc++.h>
using namespace std;
int main(){
int a[] = {1,2,3,4,5};
int maxa = max_element(a,a+5), mina = min_element(a,a+5);
cout << maxa << ' ' << mina << endl;
return 0;
}
预计上面代码输出为5 1,但是最终却编译错误。Why?
因为这两个函数返回的是最大值或者最小值的迭代器,所以我们得加上一个*号得到值,最终代码如下:
#include <bits//stdc++.h>
using namespace std;
int main(){
int a[] = {1,2,3,4,5};
int maxa = *max_element(a,a+5), mina = *min_element(a,a+5);
cout << maxa << ' ' << mina << endl;
return 0;
}
/**运行结果
5 1
*/