Как работает minmax_element обычно реализуется? Я вижу, что временная сложность максимальна (пол (3/2 (N-1)), 0) приложения предиката, где N = std :: distance (first, last).сложность minmax_element
Где minmax_element позволяет мне найти самые маленькие и самые большие элементы в диапазоне элементов, которые могут быть повторены (read: контейнеры). Например:
#include <algorithm>
#include <vector>
using namespace std;
void Algorithm_minmax_element()
{
double x = 2, y = 1, z = 0;
vector<double> v = { 2, 1, 0, -1 };
auto result1 = minmax(x, y);
// result1 == pair(1, 2)
auto result2 = minmax({ x, y, z });
// result2 == pair(0, 2)
auto result3 = minmax_element(v.begin(), v.end());
// result3 == pair(&v[3] = -1, &v[0] = 2)
}