Функция min_element
Функция min_element находит и возвращает
итератор на минимальный элемент в заданном
диапазоне. В первый параметр мы передаем
итератор на начало диапазона, а во второй -
итератор на конец диапазона. Функция возвращает
итератор, указывающий на первый найденный
минимальный элемент. Если диапазон пуст,
функция возвращает итератор на конец диапазона.
Синтаксис
min_element(first, last)
min_element(first, last, comp)
Пример
Давайте найдем минимальный элемент в векторе
из чисел 5, 3, 8, 1 и 9:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {5, 3, 8, 1, 9};
auto res = min_element(vec.begin(), vec.end());
if (res != vec.end()) {
cout << *res << endl;
}
return 0;
}
Результат выполнения кода:
1
Пример
Давайте найдем минимальный элемент в векторе
из строк "abcde", "xyz" и "hello":
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
vector<string> vec = {"abcde", "xyz", "hello"};
auto res = min_element(vec.begin(), vec.end());
if (res != vec.end()) {
cout << *res << endl;
}
return 0;
}
Результат выполнения кода:
"abcde"
Пример
Давайте найдем минимальный элемент по модулю, используя пользовательскую функцию сравнения:
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdlib>
using namespace std;
bool absCompare(int a, int b)
{
return abs(a) < abs(b);
}
int main()
{
vector<int> vec = {-5, 3, -8, 1, 9};
auto res = min_element(vec.begin(), vec.end(), absCompare);
if (res != vec.end()) {
cout << *res << endl;
}
return 0;
}
Результат выполнения кода:
1
Смотрите также
-
функция
min,
которая возвращает минимальное из двух значений -
функция
max_element,
которая находит максимальный элемент в диапазоне -
функция
minmax,
которая возвращает минимальный и максимальный элементы -
функция
sort,
которая сортирует элементы в диапазоне