Per utilizzare la funzione max () della libreria di algoritmo C ++, il programma deve iniziare con qualcosa con la libreria dell'algoritmo inclusa come:
#includereEsistono quattro principali forme sovraccarichi di questa funzione massima e questo articolo spiega come usarle.
modelloQuesta funzione prende due argomenti dello stesso tipo e restituisce il più grande di entrambi. Se entrambi hanno lo stesso valore, il primo occorrenza viene restituito. Il seguente programma ne illustra l'uso:
#includereL'output è E.
modelloQuesta funzione sovraccarica è simile a quella sopra, ma il programmatore ha definito la sua funzione di confronto. La funzione sovraccaricata sopra utilizza la funzione di confronto predefinita. La definizione di una funzione di confronto, che fa la stessa cosa della funzione di confronto predefinita è:
bool compfn (char a, char b)Ci vogliono due valori, che possono essere di un elenco, quindi è vero vero, se il primo è inferiore al secondo, allora è falso. In questa funzione, "A" è il primo valore e B è il secondo valore. Nella sintassi della funzione Max () dell'intestazione di questa sezione, il primo argomento è "A" e il secondo argomento è B, mentre il terzo argomento è il nome della funzione di confronto senza parentesi e argomenti.
Si noti che il tipo di argomenti della funzione di confronto è lo stesso del tipo di argomenti nella funzione max ().
Il seguente programma con una funzione di programmatore definita, ha lo stesso effetto, del programma sopra:
#includereL'output è, E. Se "c" fosse digitato prima di "e" come argomenti nella funzione max (), l'output sarebbe stato comunque "e".
modelloIn C ++, un Initializer_List è il letterale dell'array. Questo modulo sovraccarico restituisce il valore più grande in un inizializer_list. Il seguente programma illustra questo:
#includereL'output è, E.
modelloQuesta funzione sovraccarica è simile al codice sopra ma necessita di una funzione di confronto. La funzione di confronto sopra può essere utilizzata come illustrata nel seguente programma:
#includereL'output è, E.
Funzione massima personalizzata
Il programmatore può scrivere la sua funzione max (). La strategia è effettivamente fare il confronto nella funzione.
Max di due valori
Il seguente programma mostra come determinare il valore massimo di due valori:
#includereMassimo in un elenco
Un programma personalizzato può anche essere scritto per trovare il valore massimo in un elenco. La strategia è la seguente:
Si presume che il primo elemento sia l'elemento massimo nell'elenco. Se il primo elemento è inferiore all'elemento successivo, allora l'elemento successivo diventa il nuovo massimo, altrimenti il primo elemento rimane il massimo. Se il massimo assunto è inferiore all'elemento dopo, l'elemento dopo, diventa il nuovo massimo, altrimenti, il vecchio massimo rimane. Questo confronto continua fino alla fine dell'elenco. Il seguente programma illustra questo:
#includereL'output è, E. La prima istruzione nella funzione max personalizzata, ottiene il massimo presunto, nel modulo:
char maxval = arr [0];Il segmento di codice successivo è un per loop. All'interno del circuito per loop, è un costrutto if, che esegue il confronto e l'assegnazione, mentre la scansione attraverso l'array continua.
Nella funzione principale C ++, la prima istruzione dichiara l'array, il cui elemento massimo è richiesto. La seconda istruzione chiama la funzione max personalizzata. L'istruzione dopo, stampa il valore massimo nell'elenco.
Conclusione
Senza scrivere una funzione massima personalizzata. Al fine di ottenere il valore massimo di due valori o da più di due valori in un elenco, utilizzare una funzione appropriata di seguito:
modelloQueste funzioni sovraccarichi sono tutte nella libreria dell'algoritmo.