To jest stara wersja strony!
min_element i max_element to algorytmy zwracające najmniejszy/największy element z zakresu [firstElement, lastElement). firstElement i lastElement są iteratorami wskazującymi na pozycję w kontenerze (np. listy, wektora). Porównywanie jest realizowane jest za pomocą domyślnego (wbudowanego) operatora mniejszości < . Dodatkowo możliwe jest podanie jako trzeciego parametru funkcji w roli operatora <, która będzie użyta do znalezienia najmniejszego/największego elementu. Funkcja ta zwraca true jeżeli jej pierwszy parametr jest mniejszy od drugiego parametru.
W pliku nagłówkowym algorithm
min_element, Pierwsza wersja przyjmuje jako parametr zakres:
template <class ForwardIterator> ForwardIterator min_element ( ForwardIterator first, ForwardIterator last );
Druga wersja przyjmuje jako parametr zakres i operator porównujący:
template <class ForwardIterator, class Compare> ForwardIterator min_element ( ForwardIterator first, ForwardIterator last, Compare comp );
max_element, Pierwsza wersja przyjmuje jako parametr zakres:
template <class ForwardIterator> ForwardIterator max_element ( ForwardIterator first, ForwardIterator last );
Druga wersja przyjmuje jako parametr zakres i operator porównujący:
template <class ForwardIterator, class Compare> ForwardIterator max_element ( ForwardIterator first, ForwardIterator last, Compare comp );
Równoważny kod:
template <class ForwardIterator> ForwardIterator min_element ( ForwardIterator first, ForwardIterator last ) { ForwardIterator lowest= first; if (first==last) return last; while (++first!=last) if (*lowest<*first) // or: if (comp(*lowest,*first)) for the comp version lowest=first; return lowest; }
Iterator wskazujący na element najmniejszy/największy
Liniowa: wywołuje funkcję op i dokonuje przyporządkowania zwracanej przez nią wartości co najwyżej tylokrotnie, ile jest elementów w zakresie [first1, last1)