logo

C++ Algoritme max()

C++-algoritme maximaal() functie kan op de volgende 3 manieren worden gebruikt:

  • Het vergelijkt de twee waarden die zijn doorgegeven in de argumenten en retourneert de grootste ertussen . Als beide gelijk zijn, wordt de eerste geretourneerd.
  • Het vergelijkt ook de twee waarden met behulp van a binaire functie die door de gebruiker wordt gedefinieerd en vervolgens als argument wordt doorgegeven in std::max().
  • Het wordt ook gebruikt om de grootste element in een bepaalde lijst en retourneert de eerste als er meer dan één grootste in de lijst staat.

Elementen worden vergeleken met behulp van een operatorcomp voor de tweede versie.

Syntaxis

 default (1) template const T& max (const T& a, const T& b); //until C++ 11 custom (2) template const T& max (const T& a, const T& b, Compare comp); //until C++ 11 default (1) template const T& max (const T& a, const T& b); //until C++ 14 custom (2) template const T& max (const T& a, const T& b, Compare comp); //until C++ 14 initializer list (3) template T max (initializer_list il); template T max (initializer_list il, Compare comp); //until C++ 14 default (1) template constexpr const T& max (const T& a, const T& b); //since C++ 14 //since C++ 14 custom (2) template constexp const T& max(const T& a, const T& b, Compare comp); // since C++ 14 initializer list (3) template constexpr T max (initializer_list il); template constexpr T max (initializer_list il, Compare comp); //since C++ 14 

Parameter

A : Eerste waarde om te vergelijken.

gedeeltelijke differentiatie in latex

B : Tweede waarde om te vergelijken.

comp : Een door de gebruiker gedefinieerde binaire predikaatfunctie die twee argumenten accepteert en waar retourneert als de twee argumenten in de juiste volgorde staan, anders retourneert deze onwaar. Het volgt de strikt zwakke ordening om de elementen te ordenen.

De : Een initializer_list met de waarden die moeten worden vergeleken.

Winstwaarde

Het retourneert het maximum van a en b. Als de waarden gelijkwaardig zijn, retourneert het a.

Retourneert de grootste waarde in il. Als meerdere waarden gelijk zijn aan het maximum, wordt de meest linkse waarde geretourneerd.

Complexiteit

Complexiteit is lineair in één minder dan het aantal vergeleken elementen.

Uitzonderingen

Deze functie genereert een uitzondering als een vergelijking een uitzondering genereert.

Java-tekenreeks vergelijken

Opmerking: de ongeldige parameters veroorzaken ongedefinieerd gedrag.

voorbeeld 1

Laten we het eenvoudige voorbeeld bekijken om het gebruik van max() te demonstreren:

 #include #include #include using namespace std; int main() { cout << 'larger of 1 and 9999: ' << std::max(1, 9999) << '
' << 'larger of 'a', and 'b': ' << max('a', 'b') << '
' << 'longest of 'foo', 'bar', and 'hello': ' << max( { 'foo', 'bar', 'hello' }, [](const string& s1, const string& s2) { return s1.size() < s2.size(); }) << '
'; return 0; } 

Uitgang:

 larger of 1 and 9999: 9999 larger of 'a', and 'b': b longest of 'foo', 'bar', and 'hello': hello 

Voorbeeld 2

Laten we nog een eenvoudig voorbeeld bekijken om het gebruik van max() te demonstreren met behulp van de standaardversie:

iets snel sorteren
 #include // std::cout #include // std::max using namespace std; int main () { cout << 'max(1,2)==' << max(1,2) << '
'; cout << 'max(2,1)==' << max(2,1) << '
'; cout << 'max('a','z')==' << max('a','z') << '
'; cout << 'max(3.14,2.73)==' << max(3.14,2.73) << '
'; return 0; } 

Uitgang:

 max(1,2)==2 max(2,1)==2 max('a','z')==z max(3.14,2.73)==3.14 

Voorbeeld 3

Laten we nog een eenvoudig voorbeeld bekijken om het gebruik van max() te demonstreren met behulp van de vergelijkingsfunctie:

 #include #include using namespace std; // Defining the binary function bool comp(int a, int b) { return (a <b); } int main() { a="7;" b="28;" cout << max(a,b,comp) '
'; returns the first one if both numbers are same max(7,7,comp); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> 28 7 </pre> <h2>Example 4</h2> <p>Let&apos;s see a simple example to find the maximum element in the list:</p> <pre> #include #include using namespace std; // Defining the binary function bool comp(int a, int b) { return (a <b); } int main() { finding the largest of all numbers cout << 'maximum element is: '<< max({1, 2, 3, 4, 5, 10, -1, 7},comp) '
'; return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Maximum element is: 10 </pre> <br></b);></pre></b);>

Voorbeeld 4

Laten we een eenvoudig voorbeeld bekijken om het maximale element in de lijst te vinden:

 #include #include using namespace std; // Defining the binary function bool comp(int a, int b) { return (a <b); } int main() { finding the largest of all numbers cout << \'maximum element is: \'<< max({1, 2, 3, 4, 5, 10, -1, 7},comp) \'
\'; return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Maximum element is: 10 </pre> <br></b);>