The list is developed on the basis of a template class, which is based on a doubly linked list
Using std::weak_ptr as a pointer to the previous element of a node, together with std::shared_ptr helped to avoid cyclic references
- Function for adding an item to any place in the list
- Function for deleting an item anywhere in the list
- Function for creating a set from a list
- Function for sorting the list based on bubble sort
- Operator [] overload
- Function for formatted list output
Overload has been implemented for *, +, / operators
They are responsible for operations between a List and a Variable and a List and a List