Maison  >  Article  >  développement back-end  >  Comment trouver efficacement la valeur maximale ou minimale dans un vecteur C ?

Comment trouver efficacement la valeur maximale ou minimale dans un vecteur C ?

DDD
DDDoriginal
2024-10-24 18:58:02991parcourir

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

Comment récupérer des valeurs maximales ou minimales dans un vecteur en C

En C, trouver la valeur maximale ou minimale dans un vecteur est un tâche commune. Bien que les tableaux et les vecteurs partagent des similitudes, l'obtention de ces valeurs diffère légèrement entre les deux structures de données.

Vecteurs

Pour récupérer la valeur maximale ou minimale dans un vecteur, vous pouvez utilisez les fonctions std::max_element() ou std::min_element() du en-tête. Ces fonctions prennent les itérateurs au début et à la fin du vecteur comme arguments et renvoient un itérateur pointant vers l'élément avec la valeur maximale ou minimale.

<code class="cpp">#include <vector>
#include <algorithm>

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

  // Getting the maximum value
  int max = *std::max_element(vector.begin(), vector.end());
  std::cout << "Maximum: " << max << std::endl;

  // Getting the minimum value
  int min = *std::min_element(vector.begin(), vector.end());
  std::cout << "Minimum: " << min << std::endl;

  // Using iterators
  std::vector<int>::iterator it_max = std::max_element(vector.begin(), vector.end());
  std::cout << "Element with maximum value: " << *it_max << std::endl;
}

Tableaux

Dans le cas des tableaux, vous ne pouvez pas utiliser directement std::max_element() ou std::min_element() car ils nécessitent des itérateurs. Au lieu de cela, vous pouvez utiliser une boucle pour parcourir le tableau et trouver manuellement la valeur maximale ou minimale.

<code class="cpp">int main() {
  int array[5] = {1, 2, 3, 4, 5};

  // Getting the maximum value
  int max = array[0];
  for (int i = 1; i < 5; i++) {
    if (array[i] > max) {
      max = array[i];
    }
  }
  std::cout << "Maximum: " << max << std::endl;
}</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn