C语言实现链表原地逆置(指针反转法)
参考于王道书P45
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*Linklist;
Linklist Reverse(Linklist L){//带头节点的链表
LNode *pre,*p=L->next,*r=p->next;
p->next=NULL;
while(r!=NULL){//链表反转
pre=p;
p=r;
r=r->next;
p->next=pre;
}//while结束后p指向逆置完成的链表
L->next=p;//逆置的链表加上头节点
return L;
}