Heim > Backend-Entwicklung > C++ > Hauptteil

Wie finde ich effizient die Maximal- und Minimalwerte innerhalb eines Vektors in C?

Susan Sarandon
Freigeben: 2024-10-25 00:23:02
Original
380 Leute haben es durchsucht

How do I efficiently find the maximum and minimum values within a vector in C  ?

Maximal- oder Minimalwert in einem Vektor in C ermitteln

In C ist das Ermitteln des Maximal- oder Minimalwerts in einem Vektor eine einfache Aufgabe . Durch die Verwendung von STL-Funktionen (Standard Template Library) können wir dies effizient erreichen, ohne den gesamten Container zu durchlaufen.

Verwendung von std::max_element() und std::min_element()

Die Standardbibliothek stellt die Funktionen std::max_element() und std::min_element() zum Ermitteln der maximalen bzw. minimalen Elemente in einer Wertefolge bereit. Diese Funktionen benötigen ein Iteratorpaar als Argumente, die den Bereich angeben, in dem die Suche durchgeführt werden soll. Der Rückgabewert ist ein Iterator, der auf das Element mit dem Maximal-/Minimalwert zeigt.

Syntax:

<code class="cpp">std::max_element(iterator_begin, iterator_end);
std::min_element(iterator_begin, iterator_end);</code>
Nach dem Login kopieren

Beispiel:

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

std::vector<int> v = {1, 3, 5, 7, 9};

int max_num = *std::max_element(v.begin(), v.end());
int min_num = *std::min_element(v.begin(), v.end());

std::cout << "Maximum value: " << max_num << std::endl;
std::cout << "Minimum value: " << min_num << std::endl;</code>
Nach dem Login kopieren

Arrays vs. Vektoren verwenden

Vektoren und Arrays sind beides Container in C. Allerdings sind Vektoren dynamisch, während Arrays statisch sind. Daher ist der Ansatz zum Erhalten des Maximal-/Minimalwerts etwas anders.

Bei einem Array können Sie direkt auf die Elemente zugreifen und den Maximal-/Minimalwert ermitteln, indem Sie das Array durchlaufen.

Beispiel:

<code class="cpp">int arr[] = {1, 3, 5, 7, 9};
int size = sizeof(arr) / sizeof(arr[0]);

int max_num = arr[0];
int min_num = arr[0];

for (int i = 1; i < size; i++) {
    max_num = std::max(max_num, arr[i]);
    min_num = std::min(min_num, arr[i]);
}

std::cout << "Maximum value: " << max_num << std::endl;
std::cout << "Minimum value: " << min_num << std::endl;</code>
Nach dem Login kopieren

Zusammenfassend lässt sich sagen, dass die Verwendung von std::max_element() und std::min_element() eine praktische Möglichkeit ist, die Maximal- und Minimalwerte in einem Vektor zu finden. Bei Arrays können Sie die Elemente durchlaufen, um das gleiche Ergebnis zu erzielen.

Das obige ist der detaillierte Inhalt vonWie finde ich effizient die Maximal- und Minimalwerte innerhalb eines Vektors in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!