刷LC碰到这两个函数的使用,感觉出镜率比较高,简单总结一下,附上代码以供参考,函数的参数应该输入的是vector的始末地址,需要注意的是:使用该函数包含的头文件是:#include <algorithm>
/*
param begin : 序列起始地址(迭代器)
param end : 序列结束地址(迭代器)
return : 序列中最小元素地址(迭代器)
*/
min_element(begin, end);
/*
param begin : 序列起始地址(迭代器)
param end : 序列结束地址(迭代器)
return : 序列中最大元素地址(迭代器)
*/
max_element(begin, end);
示例代码:
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[7] = {10, 4, 78, 24, 91, 99, 5};
//做差得到index
int min_idx = min_element(a, a+7) - a;
int max_idx = max_element(a, a+7) - a;
int min_val = *min_element(a, a+7);
int max_val = *max_element(a, a+7);
cout<<"最小值下标是:"<<min_idx<<",其对应的元素是:"<<min_val<<endl;
cout<<"最大值下标是:"<<max_idx<<",其对应的元素是:"<<max_val<<endl;
return 0;
}
结果如下图所示: