Ermitteln des Maximal- oder Minimalwerts in einem Vektor in C
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.
Verwenden 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:
std::max_element(iterator_begin, iterator_end);
std::min_element(iterator_begin, iterator_end);
Beispiel:
#include
#include
std::vector 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 Verwenden von Arrays vs. Vektoren
Vektoren und Arrays sind beide 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:
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 Zusammenfassend lässt sich sagen, dass die Verwendung von std::max_element() und std::min_element() eine bequeme Möglichkeit zum Finden ist die Maximal- und Minimalwerte in einem Vektor. Bei Arrays können Sie die Elemente durchlaufen, um das gleiche Ergebnis zu erzielen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3