The function invert_list() reverses the order of nodes in a linked list. It uses two temporary node pointers, temp1 and temp2, to swap the next pointers between each node and rebuild the list in reverse order, ultimately setting the head pointer to the new last node.
4. head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
5. head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
6. head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
7. head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
8. !
head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
9. "
head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
10. #
head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
11. head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
12. head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
13. head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
14. head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
15. head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
16. head head (in main)
(in invert) or *head (in invert)
1 2 3
temp2
(in invert)
temp1=*head;
*head=*head->next;
temp1->next=temp2;
temp1 temp2=temp1;
(in invert)
*head=temp2;