«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как эффективно найти максимальное или минимальное значение в векторе C++?

Как эффективно найти максимальное или минимальное значение в векторе C++?

Опубликовано 8 ноября 2024 г.
Просматривать:108

How to efficiently find the maximum or minimum value within a C   vector?

Как получить максимальное или минимальное значение в векторе в C

В C поиск максимального или минимального значения в векторе - это общая задача. Хотя массивы и векторы имеют общие черты, получение этих значений немного различается между двумя структурами данных.

Векторы

Чтобы получить максимальное или минимальное значение в векторе, вы можете используйте функции std::max_element() или std::min_element() из заголовка . Эти функции принимают итераторы начала и конца вектора в качестве аргументов и возвращают итератор, указывающий на элемент с максимальным или минимальным значением.

#include 
#include 

int main() {
  std::vector vector = {1, 2, 3, 4, 5};

  // Getting the maximum value
  int max = *std::max_element(vector.begin(), vector.end());
  std::cout ::iterator it_max = std::max_element(vector.begin(), vector.end());
  std::cout 

Массивы

В случае массивов вы не можете напрямую использовать std::max_element() или std::min_element(), поскольку для них требуются итераторы. Вместо этого вы можете использовать цикл для перебора массива и поиска максимального или минимального значения вручную.

int main() {
  int array[5] = {1, 2, 3, 4, 5};

  // Getting the maximum value
  int max = array[0];
  for (int i = 1; i  max) {
      max = array[i];
    }
  }
  std::cout 
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3