C++ algoritms max() funkciju var izmantot šādos 3 veidos:
- Tas salīdzina abas argumentos nodotās vērtības un atgriež lielāku starp tām . Ja abi ir vienādi, tas atgriež pirmo.
- Tas arī salīdzina abas vērtības, izmantojot a binārā funkcija kuru definē lietotājs un pēc tam nodod kā argumentu std::max().
- To izmanto arī, lai atrastu lielākais elements dotajā sarakstā , un tas atgriež pirmo, ja sarakstā ir vairāk nekā viens lielākais.
Elementi tiek salīdzināti, izmantojot operatoru
Sintakse
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
Parametrs
a : pirmā vērtība, ko salīdzināt.
b : otrā salīdzināmā vērtība.
dhanashree verma
sast : lietotāja definēta binārā predikāta funkcija, kas pieņem divus argumentus un atgriež vērtību True, ja abi argumenti ir kārtībā, pretējā gadījumā tā atgriež false. No tā izriet stingra vāja elementu pasūtīšanas kārtība.
The : inicializācijas_saraksts ar salīdzināmajām vērtībām.
Atdeves vērtība
Tas atgriež a un b maksimumu. Ja vērtības ir līdzvērtīgas, tas atgriež a.
Atgriež lielāko vērtību il. Ja vairākas vērtības ir līdzvērtīgas maksimālajai vērtībai, atgriež lielāko kreiso vērtību.
e-bankas ierobežojumi
Sarežģītība
Sarežģītība ir lineāra vienā mazākā mērā nekā salīdzināto elementu skaits.
Izņēmumi
Šī funkcija rada izņēmumu, ja kāds salīdzinājums rada izņēmumu.
java versija Linux
Piezīme. Nederīgi parametri izraisa nedefinētu darbību.
1. piemērs
Apskatīsim vienkāršu piemēru, lai parādītu max () izmantošanu:
#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; }
Izvade:
larger of 1 and 9999: 9999 larger of 'a', and 'b': b longest of 'foo', 'bar', and 'hello': hello
2. piemērs
Apskatīsim vēl vienu vienkāršu piemēru, lai parādītu max() izmantošanu, izmantojot noklusējuma versiju:
#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; }
Izvade:
saraksts sakārtots java
max(1,2)==2 max(2,1)==2 max('a','z')==z max(3.14,2.73)==3.14
3. piemērs
Apskatīsim vēl vienu vienkāršu piemēru, lai parādītu max() izmantošanu, izmantojot salīdzināšanas funkciju:
#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);>
4. piemērs
Apskatīsim vienkāršu piemēru, lai sarakstā atrastu maksimālo elementu:
#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);>