by Dinesh Thakur Category: Linked Lists

A singly linked list is a linked list in which each node contains only one link field pointing the next node in the list.

Each node is divided in two parts.

1. *data field*.

2. *pointer*.

For Example: -

Node structure

The *data field *contains the data elements that have to be stored in the list. The *pointer *will point the next node in the list.

The operations done on a list are: -

1 Insertion

2 Deletion

**Insertion in the head node**

** **

To insert a node in the head node, just change the pointer field of the new node to point to the head node. Let the new node be ‘*Temp’* and the head node be *‘Head’, *then the insertion is

*Head *? *next = head*

** **

**Insertion in the middle node**

To insert in the middle node we need to change two pointers. Let the new node be ‘*Temp’* and the present node is *‘Present’ and,* the next node to the present node is *‘future’.* The pointers used are ‘*data’ *for the data field, *‘next’ *to the pointer field*, *the data to be inserted is ‘*X ’*then the insertion is

*Present *? *next = temp*

* Temp *? *next = future *

* *

**Insertion in the last node**

** **

To insert an element in the last position just change the pointer field of the present last node to point to the new node, then set the pointer field of the new node to *NULL.* Let the new node be ‘*Temp’* and the present node is *‘Present’.* The pointers used are ‘*data’ *for the data field, *‘next’ *to the pointer field*, *the data to be inserted is ‘*X ’*then the insertion is

*Temp *? *next =null*

* Temp *? *data = X*

**Deletion**

**Deletion in the head node**

To delete a node in the head node, just point the head node as the second node. Let the head node be *‘Head’, *and then the deletion is

*Head *? *next = head*

**Deletion in the middle node**

** **

To delete a node in the middle we need to change two pointers. Let the node to be deleted is ‘*Temp’* and the node previous to the node to be deleted is *‘Present’ and,* the next node to the present node is *‘future’.* The pointers used are ‘*data’ *for the data field, *‘next’ *to the pointer field*, *the data to be inserted is ‘*X ’*then the insertion is

*Present *? *next = future*

* *

**Deletion in the last node**

** **

To delete an element in the last position just change the pointer field of the previous node to the last to* null*. Let the last node be ‘*Temp’* and the previous node is *‘Present’.* The pointers used are ‘*data’ *for the data field, *‘next’ *to the pointer field*, *the data to be inserted is ‘*X ’*then the insertion is

About Dinesh Thakur

Dinesh Thakur holds an B.SC (Computer Science), MCSE, MCDBA, CCNA, CCNP, A+, SCJP certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps. For any type of query or something that you think is missing, please feel free to Contact us.

Search Content

Popular Article

#### What is Linked lists? How Many Type of Link List

#### Short Note on Singly Circular Linked List

#### What is Doubly Linked List

#### What is Circular Linked Lists

#### Short Note on Single Linked List

#### What is Linked Lists

#### What is Doubly-circularly-linked list

#### Circularly-linked list vs. linearly-linked list

#### What is Singly-circularly-linked list

Basic Courses

Advance Courses