Нахождение максимального или минимального значения вектора в C
В C получение максимального или минимального значения вектора является простой задачей . Используя функции STL (стандартная библиотека шаблонов), мы можем эффективно добиться этого, не перебирая весь контейнер.
Использование std::max_element() и std::min_element()
Стандартная библиотека предоставляет функции std::max_element() и std::min_element() для поиска максимального и минимального элементов в последовательности значения соответственно. Эти функции принимают в качестве аргументов пару итераторов, обозначающих диапазон, в котором следует выполнять поиск. Возвращаемое значение — это итератор, указывающий на элемент с максимальным/минимальным значением.
Синтаксис:
std::max_element(iterator_begin, iterator_end);
std::min_element(iterator_begin, iterator_end);
Пример:
#include
#include
std::vector v = {1, 3, 5, 7, 9};
int max_num = *std::max_element(v.begin(), v.end());
int min_num = *std::min_element(v.begin(), v.end());
std::cout Использование массивов и векторов
Векторы и массивы являются контейнерами в С. Однако векторы являются динамическими, а массивы — статическими. Таким образом, подход к получению максимального/минимального значения немного отличается.
Для массива вы можете напрямую обращаться к элементам и определять максимальное/минимальное значение путем итерации по массиву.
Пример:
int arr[] = {1, 3, 5, 7, 9};
int size = sizeof(arr) / sizeof(arr[0]);
int max_num = arr[0];
int min_num = arr[0];
for (int i = 1; i В заключение, использование std::max_element() и std::min_element() — это удобный способ найти максимальное и минимальное значения в векторе. Для массивов вы можете перебирать элементы для достижения того же результата.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3