It is a linear data strucure in which data field is stored using pointers. Thus, in simple words, a linked list consists of nodes where each node contains a data field and a reference(link) to the next node in the list. We can add, delete, insert or search for a certain data in the linked list by traversing through it. There are various types of linked lists:
1)Singly Linked List - only unidirectional traversing of list is possible. 2)Doubly Linked List- as the name suggests, bidirectional traversing of list is possible. 3)Circular List - The list doesn't have a terminal point(The above to types have a starting and a terminal point)
Stack is based on the logical concept of LIFO (Last In First Out) i.e the data entered last in a list is removed first. Similarly Queue is based On FIFO (First In First Out) i.e. the the data entered first first in the list is removed first too. The addtion of data is called PUSH and deletion of data is called POP. Stack and Queue can be applied in arrays as well as linked lists.