C++ algoritam max() funkcija se može koristiti na sljedeća 3 načina:
- Uspoređuje dvije vrijednosti proslijeđene u svojim argumentima i vraća veći između njih . Ako su oba jednaka, vraća prvi.
- Također uspoređuje dvije vrijednosti koristeći a binarna funkcija koji je definirao korisnik, a zatim proslijeđen kao argument u std::max().
- Također se koristi za pronalaženje najveći element na određenoj listi , i vraća prvi ako postoji više od jednog najvećeg na popisu.
Elementi se uspoređuju pomoću operatora
konstruktor u Javi
Sintaksa
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
Parametar
a : Prva vrijednost za usporedbu.
b : Druga vrijednost za usporedbu.
komp : Korisnički definirana binarna predikatna funkcija koja prihvaća dva argumenta i vraća true ako su dva argumenta u redu, inače vraća false. Slijedi strogi slabi poredak za poredak elemenata.
The : Initializer_list s vrijednostima za usporedbu.
java niz s formatom
Povratna vrijednost
Vraća maksimum a i b. Ako su vrijednosti ekvivalentne, vraća a.
Vraća najveću vrijednost u il. Ako je nekoliko vrijednosti ekvivalentno maksimalnoj, vraća krajnju lijevu takvu vrijednost.
Složenost
Složenost je linearna za jedan manji od broja uspoređivanih elemenata.
Iznimke
Ova funkcija izbacuje iznimku ako bilo koja usporedba izbaci iznimku.
Napomena: nevažeći parametri uzrokuju nedefinirano ponašanje.
Primjer 1
Pogledajmo jednostavan primjer za demonstraciju upotrebe 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; }
Izlaz:
puni krug zbrajala
larger of 1 and 9999: 9999 larger of 'a', and 'b': b longest of 'foo', 'bar', and 'hello': hello
Primjer 2
Pogledajmo još jedan jednostavan primjer za demonstraciju upotrebe max() koristeći zadanu verziju:
#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; }
Izlaz:
np.argmax
max(1,2)==2 max(2,1)==2 max('a','z')==z max(3.14,2.73)==3.14
Primjer 3
Pogledajmo još jedan jednostavan primjer za demonstraciju upotrebe max() pomoću funkcije usporedbe:
#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'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);>
Primjer 4
Pogledajmo jednostavan primjer za pronalaženje maksimalnog elementa na popisu:
#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);>