An Array is a simple data structure. It cannot be created or destroyed during program execution. In array, insertion and deletion requires lots of shifting and time. To overcome this problem the concept of linked list was introduced. A linked list is a linear collection of data elements called nodes. In which each node of the list points to the next node of the list. A linked list requires two contiguous arrays to store in memory. The first array stores the data value and the second array stored the next pointer storage. The last node is not pointing to any node. Hence, its LINK part contains NULL pointer. A linked list is a dynamic data structure; therefore, it should be created during run time.
The basic operations performed on Linked list are traversing a node, adding a node, removing a node and checking is the list empty. The START node gives the access (reference) to the first node. Each node contains reference of its next node. A node can be added at: Front, End or a particular position. A node can be removed or deleted from: Front, End or a particular position.
Insertion and deletion of node is easily implemented in a linked list. Linear data structures such as stacks and queues are easily executed with a linked list. They can reduce access time and may expand in real time without memory overhead.