Алгоритм min_element()
template< class ForwardIterator > ForwardIterator min_element( ForwardIterator first, ForwardIterator last ); template< class ForwardIterator, class Compare > ForwardIterator min_element( ForwardIterator first, |
ForwardIterator last, Compare comp );
max_element()
возвращает итератор, указывающий на элемент, который содержит наименьшее значение последовательности, ограниченной диапазоном [first,last). В первом варианте используется оператор “меньше”, определенный для типа элементов контейнера; во втором – операция сравнения comp.
// иллюстрирует max(), min(), max_element(), min_element() #include <algorithm> #include <vector> #include <iostream.h>
int main() { int ia[] = { 7, 5, 2, 4, 3 }; const vector< int, allocator > ivec( ia, ia+5 );
int mval = max( max( max( max(ivec[4],ivec[3]), ivec[2]),ivec[1]),ivec[0]);
// вывод: результат вложенных вызовов max() равен: 7 cout << "результат вложенных вызовов max() равен: " << mval << endl; mval = min( min( min( min(ivec[4],ivec[3]), ivec[2]),ivec[1]),ivec[0]); // вывод: результат вложенных вызовов min() равен: 2 cout << "результат вложенных вызовов min() равен: " << mval << endl;
vector< int, allocator >::const_iterator iter; iter = max_element( ivec.begin(), ivec.end() ); // вывод: результат вложенных вызовов max_element() также равен: 7 cout << "результат вложенных вызовов max_element() также равен: " << *iter << endl;
iter = min_element( ivec.begin(), ivec.end() ); // вывод: результат вложенных вызовов min_element() также равен: 2 cout << "результат вложенных вызовов min_element() также равен: " << *iter << endl; |
}