Traduzioni di questa pagina?:

Algoritmi C++

Le seguenti funzioni sono definite <algorithm> and sono parte del namespace std.

Operazioni sequenziali invarianti
for_eachapplica una funzione ad una lista di elementi
countritrona il numero di elementi che hanno un determinato valore
count_ifritorna il numero di elementi per cui un certo predicato è vero
mismatchtrova la prima posizione dove due range differiscono
equaldetermina se due insiemi di elementi sono lo stesso
findtrova un valore in un dato intervallo
find_iftrova il primo elemento per cui un dato predicato è soddisfatto
find_endtrova l'ultima sequenza di elementi in un certo intervallo
find_first_ofcerca un elemento in un insieme dato
adjacent_findcerca due elementi adiacenti che hanno una determinata relazione tra loro
searchcerca un intervallo di elementi
search_ncerca N copie consecutive di un elemento in un dato intervallo
Operazioni sequenziali modificanti
copycopia un certo intervallo di intervalli in una nuova posizione
copy_backwardcopia un intervallo di elementi in ordine inverso
fillassegna ad un intervallo di elementi un certo valore
fill_nassegna un valore ad un certo numero di elementi
transformapplica una trasformazione ad una serie di elementi
generatesalva il risultato di una funzione in un intervallo
generate_nsalva il risultato dell'applicazione di una funzione invocata N volte
removerimuovi gli elementi uguali ad un certo valore
remove_ifrimuovi gli elementi per i quali un predicato è vero
remove_copycopia un intervallo di elementi tralasciando quelli che hanno un determinato valore
remove_copy_ifcrea una copia di un range di elementi per i quali un predicato è vero
replacesostituisci ogni elemento avente un certo valore con un nuovo valore
replace_ifcambia i valori degli elementi per i quali un predica è vero
replace_copycopia un intervallo, sostituendo certi elementi con nuovi
replace_copy_ifcopia un intervallo di elementi, sostituendo quelli per i quali un certo predicato è vero
swapscambia i valori di due oggetti
swap_rangesscambia due range di oggetti
iter_swapscambia gli elementi puntati da due iteratori
partitionscambia un range di elementi in due gruppi
stable_partitiondividi gli elementi in due gruppi preservando il loro ordine relativo
reverseinverti gli elementi di un certo range
reverse_copycrea una copia di un range in ordine invertito
rotatesposta a sinistra gli elementi di un dato range per certo numero di posizioni
rotate_copycopia e ruota un range di elementi
random_shuffleriordina a caso gli elementi di un certo intervallo
uniquerimuovi gli elementi duplicati consecutivi all'intervallo di un range
unique_copycrea una copia di un certo range che non contiene duplicati consecutivi
Operazioni di ordinamento
sortordina un range in ordine ascendente
partial_sortordina i primi N elementi di un range
partial_sort_copycopia e ordina parzialmente un intervallo di elementi
stable_sortordina un intervallo di elementi allo stesso tempo preservando l'ordine tra elementi uguali
nth_elementmett un elemento nella sua locazione ordinata e fa in modo che nessun elemento alla sinistra sia più grande degli elementi alla destra
Operazioni di ricerca binaria (sui range ordinati)
lower_boundcerca il primo posto dove un elemento può essere inserito preservando l'ordine
upper_boundcerca l'ultimo posto dove un valore può essere inserito preservando l'ordine
binary_searchdetermina se un elemento esiste in un certo range
equal_rangecerca un range di elementi che sono uguali ad un certo elemento
Operazioni su insiemi ordinati
mergeunisci due range ordinati
inplace_mergeunisci due range ordinati 'in-place'
includesritorna vero se un insieme è il sottoinsieme di un altro
set_differencecalcola la differenza tra due insiemi
set_intersectioncalcola l'intersezione tra due insiemi
set_symmetric_differencecalcola la differenza simmetrica tra due insiemi
set_unioncalcola l'unione di due set
Heap operations
is_heapritorna vero se un dato range è nello heap
make_heapcrea uno heap a partire da un intervallo di elementi
push_heapaggiungi un elemento ad uno heap
pop_heaprimuove l'elemento più grande di uno heap
sort_heaptrasforma lo heap in un intervallo di elementi ordinati
Operazioni sui massimi e minimi di un insieme
maxritorna il più grande di due elementi
max_elementritorna l'elemento più grande in un intervallo
minritorna il minore di due elementi
min_elementritorna il più piccolo elemento in un range
lexicographical_compareritorna vero se un range è minore di un altro in senso lessicografico
next_permutationgenera la successiva permutazione lessicograficamente maggiore di un range di elementi
prev_permutationgenera la successiva permutazione lessicograficamente minore di un range di elementi
Operazioni numeriche

The following functions are defined in <numeric>, and are part of the std namespace. Le funzioni che seguono sono definite in <numeric> e sono parte del namespace std

accumulatesomma un inetervallo di elementi
inner_productcalcola il prodotto interno di due intervalli di elementi
adjacent_differencecalcola la differenza tra elementi adiacenti in un range
partial_sumcalcola la somma parziale di un range di elementi