# Deletion in Circular linked list

To perform **deletion** in a **circular linked list** we need to maintain and store the reference of the last node of the list. because using the reference of the last node the deletion operation can be done in constant time.

**so in this tutorial, we are going to learn how to**

- Deletion of the first node in the circular linked list.
- Delete the only node of the list.
- Delete the last node of the list.
- Delete a node at any position in the list.

### Delete the first node of the circular linked list.

let’s say we have a list that has four nodes in it.

to delete the first node of the list we simply store the second node’s reference into the last node’s link part.

so now the first node is deleted from the linked list.

### Delete the only node

if we have a linked list that has only one node.

then to delete this only node we simply store None or Null value into the last variable.

so now our list becomes empty.

### Delete the last node

to delete the last node first we need to find a reference p of the predecessor of the last node.

then we store the first node’s reference into the linked part of node p.

after that, we update the list variable’s position. because after deletion of the last node now the node p becomes the last node of the list.

so now after performing these operations the last node’s is deleted.

### Delete a node at the kth position

to delete a node at position x. first, we need to find the reference to the predecessor of the node. like we want to delete the third node on the list. then we need to find the reference p of the second node.

after that, we store the node’s reference that comes after the node that we want to delete in the linked part of node p.

so now the third node’s deleted from the linked list.