1. min_element() / max_element()函数简单介绍
用于查找容器或者数组区间内的最值的时候进行搜索
2. min_element() / max_element()使用分析
Iterator min_element() / max_element(排序起始位置,排序结束位置,排序方式)
A. 可以省略排序方式
省略排序方式则默认min_element()查找区间内的最小值,max_element()查找区间内的最大值的元素信息,如果设置了排序方式,则根据排序方式排列然后再选取定义的排序方式相应的最小值和最大值。
B. 函数返回的是迭代器(Iterator), 是元素的位置而不是值.
如果需要调用其值大小前面需要*
如果需要获取其位置的信息,可以减去排序起始位置得到此位置信息。
C. 常用于数组(int[ ], char[ ]), 字符串string, 容器vetcor等
D. 函数头文件:Algorithm库
3. min_element() / max_element()运行展示
A. 数组运行展示
#include<iostream>
#include<algorithm> // 函数头文件
using namespace std;
int main(){
int a[3] = {3, 1, 2};
cout << "元素内最大值的位置为: " << max_element(a, a + 3) - a << endl;
cout << "元素内最大值的值为: " << * max_element(a, a + 3) << endl;
cout << "元素内最小值的位置为: " << min_element(a, a + 3) - a << endl;
cout << "元素内最小值的值为: " << * min_element(a, a + 3) << endl;
}
B. 字符串运行展示
#include<iostream>
#include<algorithm> // 函数头文件
using namespace std;
int main(){
string s = "312";
cout << "元素内最大值的位置为: " << max_element(s.begin(), s.end()) - s.begin() << endl;
cout << "元素内最大值的值为: " << * max_element(s.begin(), s.end()) << endl;
cout << "元素内最小值的位置为: " << min_element(s.begin(), s.end()) - s.begin() << endl;
cout << "元素内最小值的值为: " << * min_element(s.begin(), s.end()) << endl;
}
C. 容器运行展示
#include<iostream>
#include<algorithm> // 函数头文件
#include<vector>
using namespace std;
int main(){
vector<int> v ={3, 1, 2};
cout << "元素内最大值的位置为: " << max_element(v.begin(), v.end()) - v.begin() << endl;
cout << "元素内最大值的值为: " << * max_element(v.begin(), v.end()) << endl;
cout << "元素内最小值的位置为: " << min_element(v.begin(), v.end()) - v.begin() << endl;
cout << "元素内最小值的值为: " << * min_element(v.begin(), v.end()) << endl;
}
D. 自定义排序文章来源:https://www.toymoban.com/news/detail-636141.html
#include<iostream>
#include<algorithm> // 函数头文件
using namespace std;
bool cmp(int x, int y){ //反向排序,值越大则权重越小
return x > y;
}
int main(){
int a[3] = {3, 1, 2};
cout << "元素内最大值的位置为: " << max_element(a, a + 3, cmp) - a << endl;
cout << "元素内最大值的值为: " << * max_element(a, a + 3, cmp) << endl;
cout << "元素内最小值的位置为: " << min_element(a, a + 3, cmp) - a << endl;
cout << "元素内最小值的值为: " << * min_element(a, a + 3, cmp) << endl;
}
文章来源地址https://www.toymoban.com/news/detail-636141.html
到了这里,关于Min_element / Max_element 函数(C/C++)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!