Linked list is a very important dynamic data structure.
Basically, there are two types of linked list, singly-linked list and doubly-linked list.
In a singly-linked list every element contains some data and a link to the next element,
which allows to keep the structure. On the other hand,
every node in a doubly-linked list also contains a link to the previous node.
Linked list can be an underlying data structure to implement stack, queue or sorted list.