首页 > 代码库 > 数据结构与算法-链表就地逆置

数据结构与算法-链表就地逆置

链表操作,单链表就地逆置

void Inverse(LinkList &L)
{
LNode *p, *q;
p = L->next;             /*记录第一个结点地址*/
L->next = NULL;      /*把链表设置成空表*/
while (p != NULL)    /*依次按头插法将各结点插入,就实现了逆置*/
{
    q = p;                              /*用q记录待插入结点地址*/
    p = p->next;                    /*用p记录待插入结点的后继结点地址*/*/
    q->next = L->next;          /*将q(待插入结点)插入到头结点的前面*/
    L->next = q;                    /*将新插入结点作为新的头*/}
}

 

数据结构与算法-链表就地逆置