可以用max_element()及min_element()函數,二者返回的都是迭代器或指針。
頭文件:#include<algorithm>
1.求數組的最大值或最小值
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);
2.求數組最大值最小值對應的下標
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;
注意:返回的是第一個最大(小)元素的位置。
參考:
C++筆記——std::min_element和std::max_element