==========C++ Algorithms========== The following functions are defined in or , and are part of the std namespace. |[[accumulate]]|sum up a range of elements| |[[adjacent_difference]]|compute the differences between adjacent elements in a range| |[[adjacent_find]]|finds two identical (or some other relationship) items adjacent to each other| |[[binary_search]]|determine if an element exists in a certain range| |[[copy]]|copy some range of elements to a new location| |[[copy_backward]]|copy a range of elements in backwards order| |[[count]]|return the number of elements matching a given value| |[[count_if]]|return the number of elements for which a predicate is true| |[[equal]]|determine if two sets of elements are the same| |[[equal_range]]|search for a range of elements that are all equal to a certain element| |[[fill]]|assign a range of elements a certain value| |[[fill_n]]|assign a value to some number of elements| |[[find]]|find a value in a given range| |[[find_end]]|find the last sequence of elements in a certain range| |[[find_first_of]]|search for any one of a set of elements| |[[find_if]]|find the first element for which a certain predicate is true| |[[for_each]]|apply a function to a range of elements| |[[generate]]|saves the result of a function in a range| |[[generate_n]]|saves the result of N applications of a function| |[[includes]]|returns true if one set is a subset of another| |[[inner_product]]|compute the inner product of two ranges of elements| |[[inplace_merge]]|merge two ordered ranges in-place| |[[is_heap]]|returns true if a given range is a heap| |[[iter_swap]]|swaps the elements pointed to by two iterators| |[[lexicographical_compare]]|returns true if one range is lexicographically less than another| |[[lower_bound]]|search for the first place that a value can be inserted while preserving order| |[[make_heap]]|creates a heap out of a range of elements| |[[max]]|returns the larger of two elements| |[[max_element]]|returns the largest element in a range| |[[merge]]|merge two sorted ranges| |[[min]]|returns the smaller of two elements| |[[min_element]]|returns the smallest element in a range| |[[mismatch]]|finds the first position where two ranges differ| |[[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]]|sort the first N elements of a range| |[[partial_sort_copy]]|copy and partially sort a range of elements| |[[partial_sum]]|compute the partial sum of a range of elements| |[[partition]]|divide a range of elements into two groups| |[[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 certain 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)|