数据结构:逆转单链表

要求:设计一个算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表的存储空间。

[题目分析]
从首元结点开始,逐个地把链表L的当前结点p插入新的链表头部。
在这里插入图片描述
算法描述:

void  inverse(LinkList &L) 
{// 逆置带头结点的单链表 L
    p=L->next;  L->next=NULL;
    while ( p) {
        q=p->next;    // q指向*p的后继
        p->next=L->next;		//①
        L->next=p;       // ②
        p = q;
    }
}