最小值和最大值
这些算法分别返回[_First,_Last)区间中的最小元素位置、最大元素位置.或最小和最大元素位置所组成的pair
上述没有_Pred实参的各个版本将以operator<进行元素比较
_Pred用来比较两个元素,_Pred(elem1,elem2)如果第一元素小于第二元素,应当返回true
如果存在多个最小值或最大值,min_element()和max_element()返回找到的第一个目标元素.minmax_element()返回第一个最小元素和最后一个最大元素.
复杂度:线性
使用例子:
bool absLess(int elem1, int elem2)
{
return abs(elem1) < abs(elem2);
}
int main()
{
deque<int>coll;
INSERT_ELEMENTS(coll, 2, 6);
INSERT_ELEMENTS(coll, -3, 6);
PRINT_ELEMENTS(coll);
cout << "minimum: " << *min_element(coll.cbegin(), coll.cend()) << endl;
cout << "maximum: " << *max_element(coll.cbegin(), coll.cend()) << endl;
auto mm = minmax_element(coll.cbegin(), coll.cend());
cout << "min: " << *(mm.first) << endl;
cout << "man: " << *(mm.second) << endl;
cout << "distance: " << distance(mm.first, mm.second) << endl;
cout << "minimum of absolute values: " << *min_element(coll.cbegin(), coll.cend
(), absLess) << endl;
cout << "maximum of absolute values: " << *max_element(coll.cbegin(), coll.cend
(), absLess) << endl;
}
来源:CSDN
作者:vvc223c
链接:https://blog.csdn.net/qq_44800780/article/details/103683115