类别:算法 | 组件类型:函数 |
template <class ForwardIterator> ForwardIterator max_element(ForwardIterator first, ForwardIterator last); template <class ForwardIterator, class BinaryPredicate> ForwardIterator max_element(ForwardIterator first, ForwardIterator last, BinaryPredicate comp);
这两个版本的max_element在如何定义一个元素小于另一个元素方面有所不同。第一个版本使用operator<比较对象,第二个版本使用一个函数对象comp.
第一个版本的max_element返回第一个迭代器i在[first, last)使得对于每个迭代器j在[first, last), *i < *j为false。第二个版本返回第一个迭代器i在[first, last)使得对于每个迭代器j在[first, last), comp(*i, *j)为false.
int main() { list<int> L; generate_n(front_inserter(L), 1000, rand); list<int>::const_iterator it = max_element(L.begin(), L.end()); cout << "The largest element is " << *it << endl; }