C++ Algorithmes
De cppreference.com.
< cpp
Les fonctions suivantes sont définies dans <algorithm> et font partie de l'espace de nommage std.
Elles s'appliquent généralement sur des séquences d'éléments. Ces séquences peuvent être définies par des itérateurs sur des conteneurs de la STL.
| accumulate | calcule la somme d'une séquence d'éléments |
| adjacent_difference | calcule les différences entre les éléments consécutifs d'une séquence |
| adjacent_find | trouve deux éléments adjacents identiques (ou autre relation...) |
| binary_search | indique si un élément est trouvé dans une séquence donnée |
| copy | copie une séquence d'éléments vers un autre endroit |
| copy_backward | copie une séquence d'élément dans l'ordre inverse |
| count | retourne le nombre d'élément d'une séquence correspondant à une valeur donnée |
| count_if | retourne le nombre d'éléments pour lequel un prédicat est vrai |
| equal | indique si deux ensembles d'éléments sont identiques |
| equal_range | retourne une sous-séquence d'éléments égaux à un élément donnée |
| fill | fixe à une valeur donnée les éléments d'une séquence |
| fill_n | fixe à une valeur donnée les n premiers éléments d'une séquence |
| find | trouve la première occurrence d'une valeur dans une séquence donnée |
| find_end | trouve la dernière occurrence d'une valeur dans une séquence donnée |
| find_first_of | trouve la première occurence d'un des éléments d'une séquence dans une autre séquence |
| find_if | trouve le premier élément pour lequel un prédicat est vrai |
| for_each | applique une fonction à chaque élément d'une séquence |
| generate | génère une séquence à partir des résultats retourné par une fonction donnée |
| generate_n | génère une séquence à partir des résultats retourné par n appels à une fonction donnée |
| includes | retourne vrai si un ensemble donné est inclus dans un autre |
| inner_product | calcule le produit scalaire de deux séquences |
| inplace_merge | fusionne deux séquences ordonnées |
| is_heap | returns true if a given range is a heap |
| iter_swap | échange deux éléments pointés par des itérateurs |
| lexicographical_compare | compare deux éléments selon l'ordre lexicographique |
| lower_bound | cherche le premier endroit où une valeur peut être insérée en conservant l'ordre d'une séquence |
| make_heap | creates a heap out of a range of elements |
| max | retourne le plus grand de deux éléments |
| max_element | retourne le plus grand d'une séquence d'éléments |
| merge | fusionne deux séquences ordonnées vers une troisième séquence vide |
| min | retourne le plus petit de deux éléments |
| min_element | retourne le plus petit d'une séquence d'éléments |
| mismatch | trouve la première position pour laquelle des éléments sont différents |
| next_permutation | generates the next greater lexicographic permutation of a range of elements |
| nth_element | put one element in its sorted location and make sure that no elements to its left are greater than any elements to its right |
| partial_sort | trie les N premiers éléments d'une séquence |
| partial_sort_copy | copie et trie partiellement une séquence d'élément |
| partial_sum | compute the partial sum of a range of elements |
| partition | divise une séquence en deux groupes |
| pop_heap | remove the largest element from a heap |
| prev_permutation | generates the next smaller lexicographic permutation of a range of elements |
| push_heap | add an element to a heap |
| random_shuffle | randomly re-order elements in some range |
| remove | remove elements equal to certain value |
| remove_copy | copy a range of elements omitting those that match a certian value |
| remove_copy_if | create a copy of a range of elements, omitting any for which a predicate is true |
| remove_if | remove all elements for which a predicate is true |
| replace | replace every occurrence of some value in a range with another value |
| replace_copy | copy a range, replacing certain elements with new ones |
| replace_copy_if | copy a range of elements, replacing those for which a predicate is true |
| replace_if | change the values of elements for which a predicate is true |
| reverse | reverse elements in some range |
| reverse_copy | create a copy of a range that is reversed |
| rotate | move the elements in some range to the left by some amount |
| rotate_copy | copy and rotate a range of elements |
| search | search for a range of elements |
| search_n | search for N consecutive copies of an element in some range |
| set_difference | computes the difference between two sets |
| set_intersection | computes the intersection of two sets |
| set_symmetric_difference | computes the symmetric difference between two sets |
| set_union | computes the union of two sets |
| sort | sort a range into ascending order |
| sort_heap | turns a heap into a sorted range of elements |
| stable_partition | divide elements into two groups while preserving their relative order |
| stable_sort | sort a range of elements while preserving order between equal elements |
| swap | swap the values of two objects |
| swap_ranges | swaps two ranges of elements |
| transform | applies a function to a range of elements |
| unique | remove consecutive duplicate elements in a range |
| unique_copy | creates a copy of some range of elements that contains no consecutive duplicates |
| upper_bound | searches for the last place that a value can be inserted while preserving order (first place that is greater than the value) |