Write a recursive function that inserts an element X before each element Y in a simply linked list of integers.
Difficulty level

This exercise is mostly suitable for students
void insert_before_recursive(node ** nodeRef, element tofind, element toinsert)
{
if (*nodeRef != NULL)
{
if ((*nodeRef)->data == tofind)
{
Push(nodeRef, toinsert);
insert_before_recursive(&((*nodeRef)->next->next), tofind, toinsert);
}
else
insert_before_recursive(&((*nodeRef)->next), tofind, toinsert);
}
}
Back to the list of exercises
Looking for a more challenging exercise, try this one !!
