# Insertion in Circular linked list

To perform** the insertion** operation in the **Circular linked list** we need a reference to the last node of the list. because if we use the reference of the first node to perform operations like insertion and deletion then we need more time to complete these operations.

so we use the reference of the last node in a circular linked list to perform all the insertion operations in constant time.

**In this tutorial, we are going to learn how to**

- Insert a node at the beginning of the list.
- Insert a node in an empty list.
- Insert a node at the end of the list.

### Insert a node at the beginning of the Circular linked list.

like we have a circular linked list of four nodes.

first, we allocate a new node called temp.

then we store the first node’s reference into the temp node’s link part.

then we store the temp node’s reference into the last node’s link part.

so after performing these steps now a new node is inserted at the first position of the link list.

### Insert a node in an empty circular linked list

as we know an empty liked list doesn’t have any node in it. so the last variable’s value is None or Null. first, we allocate a new node called temp.

then we store the temp node’s reference into the last variable. because it’s the only node in the list.

and also it is the first and last node of the list. so we store the temp node is a reference into the linked part of the temp node. means temp node point himself.

after performing these steps now a new node is inserted in an empty list.

### Insert a node at the end of the Circular linked list

first, we allocate a new node called temp.

then we store the reference of the first node into the linked part of the temp node.

after that, we store the temp node’s reference into the linked part of the last node.

so now the temp node becomes the last node of the linked list. so we update the value of the last variable. because the last variable always stores the reference of the last node in a circular linked list.

so after performing these steps now the new node is inserted at the end position of the linked list.