C++ Algoritme maks()

C++-algoritme maks() funksjonen kan brukes på følgende 3 måter:

  • Den sammenligner de to verdiene som ble gitt i argumentene og returnerer jo større mellom dem . Hvis begge er like, returnerer den den første.
  • Den sammenligner også de to verdiene ved å bruke a binær funksjon som er definert av brukeren, og deretter sendt som et argument i std::max().
  • Den brukes også til å finne største elementet i en gitt liste , og den returnerer den første hvis det er flere enn én som er størst på listen.

Elementer sammenlignes ved hjelp av operator komp for den andre versjonen.

Syntaks

 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

en : Første verdi å sammenligne.

b : Andre verdi å sammenligne.

komp : En brukerdefinert binær predikatfunksjon som aksepterer to argumenter og returnerer sann hvis de to argumentene er i orden, ellers returnerer den usann. Den følger den strenge svake ordren for å bestille elementene.

De : En initializer_list med verdiene som skal sammenlignes.

Returverdi

Den returnerer maksimum av a og b. Hvis verdiene er like, returnerer den en.

Returnerer den største verdien i il. Hvis flere verdier er ekvivalente med maksimum, returnerer den venstre verdien.

Kompleksitet

Kompleksiteten er lineær i en mindre enn antall elementer sammenlignet.

Unntak

Denne funksjonen gir et unntak hvis en sammenligning gir et unntak.

Merk: De ugyldige parameterne forårsaker udefinert virkemåte.

Eksempel 1

La oss se det enkle eksemplet for å demonstrere bruken av max():

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

Produksjon:

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

Eksempel 2

La oss se et annet enkelt eksempel for å demonstrere bruken av max() ved bruk av standardversjon:

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

Produksjon:

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

Eksempel 3

La oss se et annet enkelt eksempel for å demonstrere bruken av max() ved å bruke sammenligningsfunksjonen:

 #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);> 

Eksempel 4

La oss se et enkelt eksempel for å finne det maksimale elementet i listen:

 #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);>