#include
<algorithm>
std::pair<For,For> minmax_element (For first, For last) std::pair<For,For> minmax_element (For first, For last, Binary comp) std::pair<For,For> minmax_element (Exec pol, For first, For last) std::pair<For,For> minmax_element (Exec pol, For first, For last, Binary comp) Range ranges::minmax_element (Range r, Binary comp = {}, Proj proj = {}) Range ranges::minmax_element (For first, For last, Binary comp = {}, Proj proj = {})
Liefert am weitesten links stehende Minimumposition und am weitesten rechts stehende Maximumposition als Paar {m,M}.
first | Anfang des Bereiches |
last | Ende des Bereiches |
comp | Sortierkriterium (Vorgabe = less ) |
proj | einstelliger Funktor (Vorgabe = std::identity ) |
pol | parallele Ausführungsart |
Rückgabewert: {m,M}
mit
!comp(proj(*j),proj(*m))
und!comp(proj(*M),proj(*j))
für beliebige Iteratoren j
des Bereiches [first,last) gilt.
#include <algorithm> #include <iostream> int main() { double arr[] = { 3, 2, 5, 1, 0, 4 }; auto [m, M] = std::minmax_element(arr, arr+6); std::cout << *m << "..." << *M << '\n'; }