> if ( current-> data == 2)
Try comparing with the value parameter.
Well you look at your diagrams, and that you have two pointers called prev and current.
Then you stare at this diagram.
Then you consider the possibility of whatCode:prev current | | v v +---+ +---+ +---+ +---+ +---+ | 5 |-+ | 4 | +->| 3 |--->| 2 |--->| 1 |--->NULL +---+ | +---+ | +---+ +---+ +---+ +--------+
prev->next = current->next;
might do.