1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
//ma structure :
typedef struct node{
int data;
struct node* next;
}node;
typedef node* pt ;
void reverserecv2(pt* listhead){
pt curr=*listhead,suiv;
//printf("before call : \nargument = %p \tcurr= %p \tcurr->next =%p \n",*listhead,curr,curr->next);
if(curr && curr->next){
suiv=curr->next;
reverserecv2(&((*listhead)->next));
//printf("after call before changing listhead : \n argument = %p \tcurr= %p \tcurr->next =%p \t suiv =%p\n",*listhead,curr,curr->next,suiv);
suiv->next=curr;
*listhead=curr->next;
//printf("after changing listhead :\nargument = %p \t curr= %p \t curr->next =%p \tsuiv =%p\n",*listhead,curr,curr->next,suiv);
suiv->next->next=NULL;
}
} |
Partager