Ds06 linked list- insert a node after a given node
1. 11/28/2020 (c) Dr. Jyoti Lakhani 1
Linked List
Linear Data Structure
Store more than one value in it (Same as array)
11 12 13
start First Node Last Node
pointer
Node Node Node
NULL
2. 11/28/2020 (c) Dr. Jyoti Lakhani 2
Done so far...
Create a Node
Insert Node at Beginning of Linked List
Insert Node at End of Linked List
Insert after or before a given Node
Insert at a given Location
Deletion from Beginning
Deletion from End
Deletion from a given location
Deletion from before or after a given node
Search an item in Linked List
Traverse Linked List
Display Linked List
Count nodes in a Linked List
3. Algorithm : Insert_after_node(new_node)
Input : A node to be inserted in the Linked List
Output: Linked List with new node at the beginning
Steps:
1. [Case 1: List is empty]
If start == NULL then
print “
2. [Case 2: List if Non- Empty]
ptr = start;
while(ptr->next!=NULL)
{ //Check for info
if(ptr->info==value)
break;
ptr=ptr->next;
}
temp=ptr->next;
ptr->next = new_node;
new_node->next = temp;
11/28/2020 (c) Dr. Jyoti Lakhani 3
Insert a Node in Linked List after given node
4. 11/28/2020 (c) Dr. Jyoti Lakhani 4
11 12 14
start First Node Last Node
NULL
13
new_node
Insert a Node in Linked List after given node
Key = 12
5. 11/28/2020 (c) Dr. Jyoti Lakhani 5
11 12 14
start First Node Last Node
13
new_node
Insert a Node in Linked List after given node
Key = 12
6. 11/28/2020 (c) Dr. Jyoti Lakhani 6
11 12 14
start First Node Last Node
13
new_node
Insert a Node in Linked List after given node
Key = 12
7. 11/28/2020 (c) Dr. Jyoti Lakhani 7
11 12 14
start First Node Last Node
13
new_node
Insert a Node in Linked List after given node
Key = 12
8. 11/28/2020 (c) Dr. Jyoti Lakhani 8
11 12 14
start First Node Last Node
NULL
13
new_node
Insert a Node in Linked List after given node
ptr
ptr = start
while(ptr->next!=NULL)
if(ptr->info==value)
break;
ptr=ptr->next;
Key = 12
9. 11/28/2020 (c) Dr. Jyoti Lakhani 9
11 12 14
start First Node Last Node
Insert a Node in Linked List after given node
ptr
NULL
13
new_node
ptr = start
while(ptr->next!=NULL)
if(ptr->info==value)
break;
ptr=ptr->next;
Key = 12
10. 11/28/2020 (c) Dr. Jyoti Lakhani 10
11 12 14
start First Node Last Node
NULL
13
new_node
Insert a Node in Linked List after given node
ptr
ptr = start
while(ptr->next!=NULL)
if(ptr->info==value)
break;
ptr=ptr->next;
Key = 12
11. 11/28/2020 (c) Dr. Jyoti Lakhani 11
11 12 13
start First Node Last Node
13
new_node
Insert a Node in Linked List after given node
ptr
temp=ptr->next;
ptr->next = new_node;
new_node->next = temp;
Key = 12
12. 11/28/2020 (c) Dr. Jyoti Lakhani 12
11 12 13
start First Node Last Node
13
new_node
Insert a Node in Linked List after given node
ptr
temp=ptr->next;
ptr->next = new_node;
new_node->next = temp;
Temp
Key = 12
13. 11/28/2020 (c) Dr. Jyoti Lakhani 13
Assignment
Insert a node before a given node