Maison > développement back-end > C++ > 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
Libérer: 2024-10-24 18:58:02
original
1125 Les gens l'ont consulté

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;
}
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal