std::max у C++
C++ std::max функція є вбудованою функцією, визначеною у файлі заголовка, яка використовується для визначення найбільшого числа, яке йому передається. Він повертає перший із них, якщо їх більше одного.
Його можна реалізувати наступними способами:
- Він порівнює два числа, передані в своїх аргументах, і повертає більше з двох і якщо обидва рівні, повертає перший.
- Він також може порівнювати два числа за допомогою a двійкова функція , який визначається користувачем, а потім передається як аргумент у std::max().
- Це також корисно, якщо ми хочемо знайти найбільший елемент у заданому списку, і він повертає перший, якщо в списку є більше одного.
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++