std::max w C++
C++ std::max funkcja jest wbudowaną funkcją zdefiniowaną w pliku nagłówkowym i służy do znalezienia największej przekazanej do niej liczby. Zwraca pierwszy z nich, jeśli jest ich więcej.
Można to zaimplementować w następujący sposób:
- Porównuje dwie liczby przekazane w swoich argumentach i zwraca większą z nich oraz jeśli oba są równe, zwraca pierwszy.
- Może także porównać dwie liczby za pomocą a funkcja binarna , który jest zdefiniowany przez użytkownika, a następnie przekazany jako argument w std::max().
- Jest to również pomocne, jeśli chcemy znaleźć największy element na danej liście i zwraca pierwszą, jeśli na liście jest więcej niż jeden.
1. Do porównywania elementów przy użyciu <:
Składnia:
const T& max (const T& a , const T& b );
Parametry:
- a: wartość do porównania b: wartość do porównania
Wartość zwracana:
- Zwraca większą z dwóch wartości.
- Jeśli oba są równe, zwraca pierwszą wartość.
Notatka : T to nazwa typu zdefiniowana w szablonie klasy.
Przykład:
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;> }> |
Wyjście
b 7
Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)
2. Aby porównać elementy za pomocą predefiniowanej funkcji:
Składnia:
const T& max (const T& a , const T& b , Compare comp );
Parametry:
- a: wartość do porównania b: wartość do porównania comp: Funkcja binarna, która przyjmuje dwie wartości typu T jako argumenty i zwraca wartość konwertowaną na wartość bool. Zwrócona wartość wskazuje, czy element przekazany jako pierwszy argument jest uważany za mniejszy niż drugi.
Wartość zwracana:
- Zwraca większą z dwóch wartości.
- Jeśli oba są równe, zwróć pierwszą wartość.
Przykład:
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; }> |
Wyjście
28 7
Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)
3. Aby znaleźć maksymalny element na liście:
Składnia:
T max (initializer_list il , Compare comp );
Parametry:
- il: Obiekt inicjujący_listę. comp: funkcja komparatora, która jest opcjonalna i można ją pominąć.
Wartość zwracana: Zwracana jest największa wartość z listy.
Poniżej znajduje się program C++ służący do znajdowania maksymalnego elementu na liście:
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; }> |
Wyjście
10
Złożoność czasowa: NA)
Przestrzeń pomocnicza: O(1)
Powiązane artykuły:
- std::max_element
- std::min
- std::równe
- std::min_element w C++