• Source
    1. /* Given a node prev_node, insert a new node after the given
    2.   prev_node */
    3. void insertAfter(struct Node* prev_node, int new_data)
    4. {
    5. /*1. check if the given prev_node is NULL */
    6. if (prev_node == NULL)
    7. {
    8. printf("the given previous node cannot be NULL");
    9. return;
    10. }
    11.  
    12. /* 2. allocate new node */
    13. struct Node* new_node =(struct Node*) malloc(sizeof(struct Node));
    14.  
    15. /* 3. put in the data */
    16. new_node->data = new_data;
    17.  
    18. /* 4. Make next of new node as next of prev_node */
    19. new_node->next = prev_node->next;
    20.  
    21. /* 5. move the next of prev_node as new_node */
    22. prev_node->next = new_node;
    23. }