Heim >Backend-Entwicklung >C++ >Wie findet man effizient den Maximal- oder Minimalwert innerhalb eines C-Vektors?

Wie findet man effizient den Maximal- oder Minimalwert innerhalb eines C-Vektors?

DDD
DDDOriginal
2024-10-24 18:58:021102Durchsuche

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

So ermitteln Sie Maximal- oder Minimalwerte in einem Vektor in C

In C ist das Finden des Maximal- oder Minimalwerts innerhalb eines Vektors ein gemeinsame Aufgabe. Während Arrays und Vektoren Ähnlichkeiten aufweisen, unterscheidet sich das Erhalten dieser Werte zwischen den beiden Datenstrukturen geringfügig.

Vektoren

Um den Maximal- oder Minimalwert in einem Vektor abzurufen, können Sie Folgendes tun Verwenden Sie die Funktionen std::max_element() oder std::min_element() aus dem Kopfzeile. Diese Funktionen verwenden Iteratoren am Anfang und Ende des Vektors als Argumente und geben einen Iterator zurück, der auf das Element mit dem maximalen oder minimalen Wert zeigt.

<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;
}

Arrays

Bei Arrays können Sie std::max_element() oder std::min_element() nicht direkt verwenden, da diese Iteratoren erfordern. Stattdessen können Sie eine Schleife verwenden, um das Array zu durchlaufen und den Maximal- oder Minimalwert manuell zu ermitteln.

<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>

Das obige ist der detaillierte Inhalt vonWie findet man effizient den Maximal- oder Minimalwert innerhalb eines C-Vektors?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn