std::min_element
ΠΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ C++23.
#include <algorithm>
ΠΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π½Π° 2024-03-17.
Define overload #1
template<class ForwardIter> constexpr ForwardIter min_element(ForwardIter first, ForwardIter last);
ΠΡΠ΅Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [first, last].
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° "<".
ΠΠ΅ΡΠ½ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ last.
Example, possible implementation
Define overload #2
template<class ExecutionPolicy, class ForwardIter>
ForwardIter min_element(ExecutionPolicy&& exec, ForwardIter first,
ForwardIter last);
TODO
Example, possible implementation
Define overload #3
template<class ForwardIter, class Compare> constexpr ForwardIter min_element(ForwardIter first, ForwardIter last, Compare comp);
ΠΡΠ΅Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [first, last].
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠ° comp.
ΠΠ΅ΡΠ½ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ last.
Example, possible implementation
Define overload #4
template<class ExecutionPolicy, class ForwardIter, class Compare>
ForwardIter
min_element(ExecutionPolicy&& exec, ForwardIter first,
ForwardIter last, Compare comp);
TODO
Example, possible implementation
Examples
Example 1:
#include <iostream>
#include <algorithm>
int main()
{
auto data = {2, 1, 3, 4, 8, 7};
auto it = std::min_element(std::begin(data), std::end(data));
if (it != std::end(data))
std::cout << *it << std::endl;
return 0;
}
1
Changelog
See also
TODO
This page was last modified on 2024-03-17