Le seguenti funzioni sono definite <algorithm> and sono parte del namespace std.
| for_each | applica una funzione ad una lista di elementi |
| count | ritrona il numero di elementi che hanno un determinato valore |
| count_if | ritorna il numero di elementi per cui un certo predicato è vero |
| mismatch | trova la prima posizione dove due range differiscono |
| equal | determina se due insiemi di elementi sono lo stesso |
| find | trova un valore in un dato intervallo |
| find_if | trova il primo elemento per cui un dato predicato è soddisfatto |
| find_end | trova l'ultima sequenza di elementi in un certo intervallo |
| find_first_of | cerca un elemento in un insieme dato |
| adjacent_find | cerca due elementi adiacenti che hanno una determinata relazione tra loro |
| search | cerca un intervallo di elementi |
| search_n | cerca N copie consecutive di un elemento in un dato intervallo |
| copy | copia un certo intervallo di intervalli in una nuova posizione |
| copy_backward | copia un intervallo di elementi in ordine inverso |
| fill | assegna ad un intervallo di elementi un certo valore |
| fill_n | assegna un valore ad un certo numero di elementi |
| transform | applica una trasformazione ad una serie di elementi |
| generate | salva il risultato di una funzione in un intervallo |
| generate_n | salva il risultato dell'applicazione di una funzione invocata N volte |
| remove | rimuovi gli elementi uguali ad un certo valore |
| remove_if | rimuovi gli elementi per i quali un predicato è vero |
| remove_copy | copia un intervallo di elementi tralasciando quelli che hanno un determinato valore |
| remove_copy_if | crea una copia di un range di elementi per i quali un predicato è vero |
| replace | sostituisci ogni elemento avente un certo valore con un nuovo valore |
| replace_if | cambia i valori degli elementi per i quali un predica è vero |
| replace_copy | copia un intervallo, sostituendo certi elementi con nuovi |
| replace_copy_if | copia un intervallo di elementi, sostituendo quelli per i quali un certo predicato è vero |
| swap | scambia i valori di due oggetti |
| swap_ranges | scambia due range di oggetti |
| iter_swap | scambia gli elementi puntati da due iteratori |
| partition | scambia un range di elementi in due gruppi |
| stable_partition | dividi gli elementi in due gruppi preservando il loro ordine relativo |
| reverse | inverti gli elementi di un certo range |
| reverse_copy | crea una copia di un range in ordine invertito |
| rotate | sposta a sinistra gli elementi di un dato range per certo numero di posizioni |
| rotate_copy | copia e ruota un range di elementi |
| random_shuffle | riordina a caso gli elementi di un certo intervallo |
| unique | rimuovi gli elementi duplicati consecutivi all'intervallo di un range |
| unique_copy | crea una copia di un certo range che non contiene duplicati consecutivi |
| sort | ordina un range in ordine ascendente |
| partial_sort | ordina i primi N elementi di un range |
| partial_sort_copy | copia e ordina parzialmente un intervallo di elementi |
| stable_sort | ordina un intervallo di elementi allo stesso tempo preservando l'ordine tra elementi uguali |
| nth_element | mett un elemento nella sua locazione ordinata e fa in modo che nessun elemento alla sinistra sia più grande degli elementi alla destra |
| lower_bound | cerca il primo posto dove un elemento può essere inserito preservando l'ordine |
| upper_bound | cerca l'ultimo posto dove un valore può essere inserito preservando l'ordine |
| binary_search | determina se un elemento esiste in un certo range |
| equal_range | cerca un range di elementi che sono uguali ad un certo elemento |
| merge | unisci due range ordinati |
| inplace_merge | unisci due range ordinati 'in-place' |
| includes | ritorna vero se un insieme è il sottoinsieme di un altro |
| set_difference | calcola la differenza tra due insiemi |
| set_intersection | calcola l'intersezione tra due insiemi |
| set_symmetric_difference | calcola la differenza simmetrica tra due insiemi |
| set_union | calcola l'unione di due set |
| max | ritorna il più grande di due elementi |
| max_element | ritorna l'elemento più grande in un intervallo |
| min | ritorna il minore di due elementi |
| min_element | ritorna il più piccolo elemento in un range |
| lexicographical_compare | ritorna vero se un range è minore di un altro in senso lessicografico |
| next_permutation | genera la successiva permutazione lessicograficamente maggiore di un range di elementi |
| prev_permutation | genera la successiva permutazione lessicograficamente minore di un range di elementi |
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
| accumulate | somma un inetervallo di elementi |
| inner_product | calcola il prodotto interno di due intervalli di elementi |
| adjacent_difference | calcola la differenza tra elementi adiacenti in un range |
| partial_sum | calcola la somma parziale di un range di elementi |