С++ для начинающих

       

Алгоритм 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;

}



Содержание раздела