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.
As we said earlier in this chapter, the last iterator denotes the element past the end of the range – it is not part of the range.
This means that when we want to operate on a full container, we can pass begin() and end() as arguments to the...