logo

C++ 알고리즘 최대()

C++ 알고리즘 최대() 기능은 다음 3가지 방법으로 사용할 수 있습니다.

  • 인수에 전달된 두 값을 비교하고 둘 중 더 큰 것을 반환합니다. . 둘 다 같으면 첫 번째 것을 반환합니다.
  • 또한 다음을 사용하여 두 값을 비교합니다. 이진 함수 이는 사용자가 정의한 다음 std::max()의 인수로 전달됩니다.
  • 을 찾는 데에도 사용됩니다. 주어진 목록에서 가장 큰 요소 , 목록에 가장 큰 항목이 두 개 이상 있으면 첫 번째 항목을 반환합니다.

요소는 연산자를 사용하여 비교됩니다.두 번째 버전에 대한 비교입니다.

통사론

 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 

매개변수

: 비교할 첫 번째 값입니다.

병합 정렬

: 비교할 두 번째 값입니다.

광고 : 두 개의 인수를 허용하고 두 인수가 순서대로이면 true를 반환하고 그렇지 않으면 false를 반환하는 사용자 정의 이진 조건자 함수입니다. 요소의 순서는 엄격한 약한 순서를 따릅니다.

그만큼 : 비교할 값이 포함된 초기화 목록입니다.

반환 값

a와 b의 최대값을 반환합니다. 값이 동일하면 a를 반환합니다.

il의 가장 큰 값을 반환합니다. 여러 값이 최대값과 동일한 경우 가장 왼쪽에 있는 값을 반환합니다.

복잡성

복잡성은 비교된 요소 수보다 하나가 적다는 점에서 선형입니다.

예외

비교에서 예외가 발생하면 이 함수는 예외를 발생시킵니다.

비제이 영화배우

참고: 잘못된 매개변수로 인해 정의되지 않은 동작이 발생합니다.

실시예 1

max()의 사용법을 보여주는 간단한 예를 살펴보겠습니다.

 #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

기본 버전을 사용하여 max()를 사용하는 방법을 보여주는 또 다른 간단한 예를 살펴보겠습니다.

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

산출:

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

실시예 3

비교 함수를 사용하여 max()의 사용법을 보여주는 또 다른 간단한 예를 살펴보겠습니다.

 #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

목록에서 최대 요소를 찾는 간단한 예를 살펴보겠습니다.

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