# Introduction to Linked List

Linked list is a linear data structure used to store data. Each element of linked list is stored in the form of node. A node is a collection of two fields: data and a pointer. A data part is used to store data and a pointer part is used to store the address of a next node of a linked list.

Unlike arrays, elements of a linked list are not stored in contiguous manner. Each node of a linked list points to the next node of the list to form a complete linked list. The size of the linked list is not fixed like arrays. Usually, the first node of the linked list is referred to as the **head** of the linked list.

__MAJOR POINTS:__

- Linked list is a linear data structure.
- Each element of a linked list is stored in the form of node.
- A node contains two fields: a
**data**field used to store data and a**pointer**field used to store address of a next node. - The nodes of a linked list are not stored in contiguous manner.
- The size of linked list is of variable length.

__Types of Linked list:__

Generally, Linked list can be categorised into three types:

It is a most common type of linked list where each node contains two fields:__Singly linked list:__used to store data and*data field*used to store address of next node. The last node of a singly linked list point to the*pointer field***NULL**.

In doubly linked list, the nodes contains three fields : a data fields used to store data and two pointer fields used to store the address of next node of a linked list and previous node of a linked list. The next pointer of last node of a doubly linked list points to the__Doubly linked list:__**NULL**. Similarly, the previous pointer of the first node of a linked list points to the**NULL**.

Circular linked list is a singly linked list with a little variation. The last node of a circular linked list points to the first node of the linked list or head of the linked list.__Circular linked list:__

**Related Posts:**

**Linked List Vs. Arrays.****Insert a New Node at the beginning of the Linked List.****Insert a New Node at the end of the Linked List.****Insert a New Node at the Middle of the Linked List.****Insert a New Node at the Sorted Linked List.****Reverse a Linked List.****Reverse a Linked List Using Stack.****Printing Linked List in Reverse Order without actually reversing the Linked List.****Swap Adjacent Elements of the Linked List.****Count All Occurrences of a Particular Node in a Linked List.****Bubble Sort on Linked List.****Detect a Loop in a Linked List.****Find the Length of the Loop present in the Linked List.****Detect and Remove Loop from a Linked List.****Segregate Even and Odd Nodes of the Linked List.****Delete Complete Linked List.****Delete Nth Node of the Linked List.****Delete without head pointer of the Linked List.****Delete All Occurrences of particular node of the Linked List.****Delete Alternate Nodes of the Linked List.**