Algorithms Provided by the C++ Standard Template Library
Algorithms are a way to operate on containers in an abstract way.
The C++ standard library provides a wide range of algorithms for all the common operations that can be performed on ranges of elements.
Because algorithms accept iterators, they can operate on any container, even user-defined containers, as long as they provide iterators.
This allows us to have a large number of algorithms that work with a large number of containers, without the need for the algorithm to know how the container is implemented.
The following are some of the most important and common algorithms that are provided by the STL.
Note
Algorithms operate on ranges, so they normally take a pair of iterators: first and last.
Lambda
Most of the algorithms accept a unary or binary predicate: a Functor (function object), which accepts either one or two parameters. These predicates allow the user to specify some of the actions that the algorithm requires. What the actions are...