写一算法, 将一带有头结点的单链表就地逆置, 即要求逆置在原链表上进行, 不允许重新构造新链表,如图 3 所示。
void LinkList_reverse(LinkList &L)
{
LinkList p,q,s;
p=L->next;q=p->next;s=q->next;p->next=NULL;
while(s->next)
{
q->next=p;p=q;
q=s;s=s->next;
}
q->next=p;s->next=q;L->next=s;
}