swap the data part of head node and new node assuming that we have a function swap ( int * , int * )
swap ( & ( current -> data ) , & ( new_node -> data ) ) ; new_node -> next = ( * head_ref ) -> next ; ( * head_ref ) -> next = new_node ; }