"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo encontrar eficientemente el valor máximo o mínimo dentro de un vector de C++?

¿Cómo encontrar eficientemente el valor máximo o mínimo dentro de un vector de C++?

Publicado el 2024-11-08
Navegar:153

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

Cómo recuperar valores máximos o mínimos en un vector en C

En C, encontrar el valor máximo o mínimo dentro de un vector es una tarea común. Si bien las matrices y los vectores comparten similitudes, la obtención de estos valores difiere ligeramente entre las dos estructuras de datos.

Vectores

Para recuperar el valor máximo o mínimo en un vector, puede utilice las funciones std::max_element() o std::min_element() del encabezado . Estas funciones llevan iteradores al principio y al final del vector como argumentos y devuelven un iterador que apunta al elemento con el valor máximo o mínimo.

#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 

Arrays

En el caso de los arrays, no puedes usar directamente std::max_element() o std::min_element() ya que requieren iteradores. En su lugar, puede utilizar un bucle para recorrer la matriz y encontrar el valor máximo o mínimo manualmente.

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 
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3