我需要一些关于移动列表头的帮助..
这是我的教授方法,它有效,但我无法理解这一点。我认为每次调用都会更改列表头,但在实践中它会移动并指向最后一个元素..对此有什么帮助吗?多谢
void reverserecv2(pt* listhead){
pt curr=*listhead,suiv;
if(curr && curr->next){
suiv=curr->next;
reverse(&(curr->next));
suiv->next=curr;
*listhead=curr->next;
suiv->next->next=NULL;
}
}
// my structure :
typedef struct node{
int data;
struct node* next;
}node;
typedef node* pt ;