logo

C++ Algoritması max()

C++ Algoritması maksimum() işlevi aşağıdaki 3 şekilde kullanılabilir:

  • Bağımsız değişkenlerinde iletilen iki değeri karşılaştırır ve aralarında daha büyük olanı döndürür . Her ikisi de eşitse ilkini döndürür.
  • Ayrıca iki değeri bir kullanarak karşılaştırır. ikili fonksiyon kullanıcı tarafından tanımlanır ve daha sonra std::max() işlevine argüman olarak iletilir.
  • Aynı zamanda bulmak için de kullanılır. Belirli bir listedeki en büyük öğe , ve listede birden fazla en büyük varsa ilkini döndürür.

Öğeler operatör kullanılarak karşılaştırılırİkinci versiyon için comp.

Sözdizimi

 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 

Parametre

A : Karşılaştırılacak ilk değer.

B : Karşılaştırılacak ikinci değer.

kompozisyon : İki bağımsız değişkeni kabul eden ve iki bağımsız değişken sıralıysa doğruyu döndüren, aksi durumda yanlış değerini döndüren, kullanıcı tanımlı bir ikili yüklem işlevi. Öğeleri sıralamak için katı zayıf sıralamayı takip eder.

: Karşılaştırılacak değerleri içeren bir başlatıcı_listesi.

Geri dönüş değeri

A ve b'nin maksimumunu döndürür. Değerler eşdeğerse a değerini döndürür.

Il'deki en büyük değeri döndürür. Birkaç değer maksimum değere eşitse, bu değerin en solundaki değeri döndürür.

Karmaşıklık

Karmaşıklık, karşılaştırılan öğe sayısından daha az olduğunda doğrusaldır.

İstisnalar

Bu işlev, herhangi bir karşılaştırmanın bir istisna atması durumunda bir istisna atar.

60'ın yüzde 10'u

Not: Geçersiz parametreler tanımsız bir davranışa neden olur.

örnek 1

max() kullanımını gösteren basit bir örneğe bakalım:

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

Çıktı:

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

Örnek 2

Varsayılan sürümü kullanarak max() kullanımını göstermek için başka bir basit örnek görelim:

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

Çıktı:

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

Örnek 3

Karşılaştırma işlevini kullanarak max() kullanımını gösteren başka bir basit örnek görelim:

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

Örnek 4

Listedeki maksimum öğeyi bulmak için basit bir örnek görelim:

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