std::max у C++

C++ std::max функція є вбудованою функцією, визначеною у файлі заголовка, яка використовується для визначення найбільшого числа, яке йому передається. Він повертає перший із них, якщо їх більше одного.

Його можна реалізувати наступними способами:

  1. Він порівнює два числа, передані в своїх аргументах, і повертає більше з двох і якщо обидва рівні, повертає перший.
  2. Він також може порівнювати два числа за допомогою a двійкова функція , який визначається користувачем, а потім передається як аргумент у std::max().
  3. Це також корисно, якщо ми хочемо знайти найбільший елемент у заданому списку, і він повертає перший, якщо в списку є більше одного.

1. Для порівняння елементів за допомогою <:

Синтаксис:

const T& max (const T& a , const T& b ); 

Параметри:

    a: значення для порівняння b: значення для порівняння

Повернене значення:

  • Повертає більше з двох значень.
  • Якщо обидва рівні, повертає перше значення.

Примітка : Т це ім'я типу, визначене в шаблоні класу.

приклад:

C++




// C++ program to demonstrate> // the use of std::max> #include> #include> using> namespace> std;> // Driver code> int> main()> {> > // Comparing ASCII values of a and b> > cout < < std::max(> 'a'> ,> 'b'> ) < <> ' '> ;> > // Returns the first one if both> > // the numbers are same> > cout < < std::max(7, 7);> > return> 0;> }>

Вихід

b 7 

Часова складність: О(1)
Допоміжний простір: О(1)

2. Для порівняння елементів за допомогою попередньо визначеної функції:

Синтаксис:

const T& max (const T& a , const T& b , Compare comp ); 

Параметри:

    a: значення для порівняння b: значення для порівняння comp: двійкова функція, яка приймає два значення типу T як аргументи та повертає значення, яке можна конвертувати в bool. Повернене значення вказує, чи вважається елемент, переданий як перший аргумент, меншим за другий.

Повернене значення:

  • Повертає більше з двох значень.
  • Якщо обидва рівні, поверніть перше значення.

приклад:

C++




// C++ program to demonstrate> // the use of std::max> #include> #include> using> namespace> std;> // Defining the binary function> bool> comp(> int> a,> int> b)> {> > return> (a } // Driver code int main() { int a = 7; int b = 28; cout < < std::max(a,b,comp) < < ' '; // Returns the first one if both // the numbers are same cout < < std::max(7,7,comp); return 0; }>

Вихід

28 7 

Часова складність: О(1)
Допоміжний простір: О(1)

3. Щоб знайти максимальний елемент у списку:

Синтаксис:

T max (initializer_list il , Compare comp ); 

Параметри:

    il: об’єкт initializer_list. comp: функція порівняння, яка є необов’язковою та може бути пропущена.

Повернене значення: Повертається найбільше значення списку.

Нижче наведено програму C++ для пошуку максимального елемента в списку:

CPP




// C++ program to demonstrate> // the use of std::max> #include> #include> using> namespace> std;> // Defining the binary function> bool> comp(> int> a,> int> b)> {> > return> (a } // Driver code int main() { // Finding the largest of all the numbers cout < < std::max({1, 2, 3, 4, 5, 10, -1, 7},comp) < < ' '; return 0; }>

Вихід

10 

Часова складність: O(n)
Допоміжний простір: О(1)

Схожі статті:

  • std::max_element
  • std::min
  • std::equal
  • std::min_element у C++