Aby użyć funkcji Max () biblioteki algorytmu C ++, program musi zacząć od czegoś z biblioteką algorytmu, jak:
#włączaćIstnieją cztery główne przeciążone formy tej funkcji Max, a ten artykuł wyjaśnia, jak z nich korzystać.
szablonTa funkcja przyjmuje dwa argumenty tego samego typu i zwraca większą z obu. Jeśli oba są takie same, pierwsze występowanie jest zwracane. Poniższy program ilustruje jego użycie:
#włączaćWyjście to e.
szablonTa przeciążona funkcja jest podobna do powyższego, ale programista zdefiniował swoją własną funkcję porównawczą. Powyższa przeciążona funkcja używa domyślnej funkcji porównawczej. Definicja funkcji porównawczej, która robi to samo, co domyślna funkcja porównawcza, wynosi:
bool compfn (char a, char b)Wymaga dwóch wartości, które mogą być z listy, a następnie jej zwraca, jeśli pierwszy jest mniejszy niż drugi, to jest fałszywe. W tej funkcji „A” jest pierwszą wartością, a B jest drugą wartością. W składni funkcji max () nagłówka tego rozdziału pierwszym argumentem jest „A”, a drugim argumentem jest B, podczas gdy trzeci argument to nazwa funkcji porównawczej bez nawiasów i argumentów.
Zauważ, że rodzaj argumentów funkcji porównawczej jest taki sam jak typ argumentów w funkcji max ().
Poniższy program z funkcją zdefiniowaną programistą ma taki sam efekt, jak powyższy program:
#włączaćWyjście to, e. Gdyby „c” wpisano przed „e” jako argumenty w funkcji max (), dane wyjściowe nadal byłyby „e”.
szablonW C ++ lista inicjalizator jest literałem tablicy. Ten przeciążony formularz zwraca największą wartość w liście inicjalizatora. Poniższy program ilustruje to:
#włączaćWyjście to, e.
szablonTa przeciążona funkcja jest podobna do powyższego kodu, ale wymaga funkcji porównawczej. Powyższą funkcję porównania można zastosować, jak pokazano w następującym programie:
#włączaćWyjście to, e.
Niestandardowa funkcja maksymalna
Programista może napisać własną funkcję Max (). Strategia polega na dokonaniu porównania w funkcji.
Maksymalnie dwóch wartości
Poniższy program pokazuje, jak określić maksymalną wartość dwóch wartości:
#włączaćMaksimum na liście
Program niestandardowy można również napisać, aby znaleźć maksymalną wartość na liście. Strategia jest następująca:
Zakłada się, że pierwszy element jest maksymalnym elementem na liście. Jeśli pierwszy element jest mniejszy niż następny element, następny element staje się nowym maksimum, w przeciwnym razie pierwszy element pozostaje maksimum. Jeśli założone maksimum jest mniejsze niż element po, element po, staje się nowym maksimum, w przeciwnym razie, stare maksimum. To porównanie trwa do końca listy. Poniższy program ilustruje to:
#włączaćWyjście to, e. Pierwsza instrukcja w niestandardowej funkcji maksymalnej, uzyskuje przyjęty maks. W formie:
char maxval = arr [0];Kolejnym segmentem kodu to pętla. Wewnątrz pętli jest konstrukt IF, który przeprowadza porównanie i przypisanie, ponieważ skanowanie przez tablicę trwa.
W głównej funkcji C ++ pierwsze stwierdzenie deklaruje tablicę, której maksymalny element jest wymagany. Druga instrukcja wywołuje niestandardową funkcję maksymalną. Instrukcja po wydrukuje maksymalną wartość na liście.
Wniosek
Bez pisania niestandardowej funkcji maksymalnej. Aby uzyskać maksymalną wartość dwóch wartości lub z więcej niż dwóch wartości na liście, użyj odpowiedniej funkcji poniżej:
szablonTe przeciążone funkcje są w bibliotece algorytmu.