logo

Ц++ алгоритам мак()

Ц++ алгоритам мак() функција се може користити на следећа 3 начина:

  • Он упоређује две вредности пренете у његовим аргументима и враћа већи између њих . Ако су оба једнака, онда враћа прву.
  • Такође упоређује две вредности користећи а бинарна функција коју дефинише корисник, а затим се прослеђује као аргумент у стд::мак().
  • Такође се користи за проналажење највећи елемент на датој листи , и враћа прву ако има више од једног највећих на листи.

Елементи се пореде помоћу операторакомп за другу верзију.

Синтакса

 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 

Параметар

а : Прва вредност за поређење.

наплата са гит-ом

б : Друга вредност за поређење.

комп : Кориснички дефинисана бинарна предикатска функција која прихвата два аргумента и враћа тачно ако су два аргумента у реду, иначе враћа нетачно. Следи строги слаб редослед елемената.

Тхе : Иницијализатор_лист са вредностима за поређење.

Повратна вредност

Враћа максимум а и б. Ако су вредности еквивалентне, враћа а.

јава програми

Враћа највећу вредност у ил. Ако је неколико вредности еквивалентно максималном, враћа најлеву такву вредност.

Сложеност

Сложеност је линеарна за један мањи од броја упоређених елемената.

Изузеци

Ова функција избацује изузетак ако било које поређење избаци изузетак.

Напомена: Неважећи параметри изазивају недефинисано понашање.

Пример 1

Хајде да видимо једноставан пример да демонстрирамо употребу мак():

замени из стринга у Јави
 #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; } 

Излаз:

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

Пример 2

Хајде да видимо још један једноставан пример да демонстрирамо употребу мак() користећи подразумевану верзију:

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

Излаз:

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

Пример 3

Хајде да видимо још један једноставан пример да демонстрирамо употребу мак() користећи функцију поређења:

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

Пример 4

Хајде да видимо једноставан пример да пронађемо максимални елемент на листи:

јс басе64 декодирање
 #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);>