Summary
Linked List Linked lists can be thought of as dynamic arrays which means that the size does not need to be specified and can keep growing as long as we still have memory in our RAM. A linked list consist of a node, which is just like a single block of memory in an array, and in the node we can store data. The node also consist of a 'next' pointer which points to the next node in the linked list. The next pointers are essentially what connects the linked list together. In a doubly linked list, we have an extra 'prev' pointer which points to the previous node in the linked list. We also need a head pointer which points to the first node of the linked list. We can also use a tail pointer which points to the last node of the linked list, but this is optional. A linked list contains of several operations such as, push head, push tail, insert after, delete, print and many more. Here is a program which contains several of those operations: Stack A stack is the...