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.