i think it makes sense. So you are saying after this line:A is spliced out.but ,U still have "loc" pointing to A
curr->next = (curr->next)->next
A and B become split (independant of each other) and then then you just insert B after a
like this:
loc->next (A) = curr(B);