当我们有一个vector<int>
型数组vec时,我们只需要获取它的最大值,而又不想打乱它的顺序
一、求数组的最大值或最小值
1、vector容器
例 vector<int> vec
- 最大值:
-
int maxValue = *max_element(v.begin(),v.end());
-
- 最小值:
-
int minValue = *min_element(v.begin(),v.end());
-
2、普通数组
例 a[]={1,2,3,4,5,6};
- 最大值:
-
int maxValue = *max_element(a,a+6);
-
- 最小值:
-
int minValue = *min_element(a,a+6);
-
二、求数组最大值最小值对应的下标
1、vector容器
例 vector<int> vec
- 最大值下标:
-
int maxPosition = max_element(v.begin(),v.end()) - v.begin();
-
- 最小值下标:
-
int minPosition = min_element(v.begin(),v.end()) - v.begin();
-
2、普通数组
例 a[]={1,2,3,4,5,6};
- 最大值下标:
-
int maxPosition = max_element(a,a+6) - a;
-
- 最小值下标:
-
int minPosition = min_element(a,a+6) - a;
-
注意:返回的是第一个最大(小)元素的位置。
#include <iostream>
#include <vector>
#include <algorithm>
int main(){
std::vector<int> a = { 2,4,6,7,1,0,8,9,6,3,2 };
auto maxPosition = std::max_element(a.begin(), a.end()); // 最小值min_element
std::cout << *maxPosition << " at the position of " << maxPosition - a.begin() << std::endl;
return 0;
}
输出:
9 at the position of 7
vector获取最值元素的方法_一只没有姓名的萌新~的博客-CSDN博客_vector找最大元素文章来源:https://www.toymoban.com/news/detail-736481.html
C++数组或vector求最大值最小值_SongEsther的博客-CSDN博客_c++ vector最大值 文章来源地址https://www.toymoban.com/news/detail-736481.html
到了这里,关于C++-vector:vector最值【*max_element(v.begin(), v.end())】【下标:max_element(v.begin(),v.end()) - v.begin()】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!