The Standard Template Library (STL) is a library for the C++ programming language. The STL provides many useful algorithms and containers. The Containers are objects that store data. We have taken the help of the following containers to solve mentioned problems:

vector, list, queue, priority_queue, stack, set, map, multimap, unordered_set, unordered_multiset, unordered_map, unordered_multimap

 
We have avoided using STL algorithms as the main purpose of these problems is to improve your coding skills and using in-built algorithms will do no good. Nevertheless, we have still used the following common algorithms at several places:

minmaxswapsortnext_permutationbinary_searchrotatereverse

Priority Queue (Heap):

Graphs:

Array:

Matrix:

Strings:

Binary Tree:

Dynamic Programming:

Linked List:

Miscellaneous: