今天突然听朋友提到单链表,就想写一个图文教程,有不对的地方希望大家指出,共同进步!
链表反转代码
void reserveLinkList(Node *L)
{
Node *p,*q,*t; //*p--前驱指针,*q--当前指针,*t--缓存的下一个结点
p = L;
q = L->next;
if(L==NULL || L->next == NULL || L->next->next ==NULL)
return ;
while(q!= NULL)
{
t = q->next; //缓存后面的链表
q->next = p;//逆置
p = q; //让p下移一个结点
q = t;
}
L->next->next = NULL; //原头结点变成尾结点,这里将原头结点置为NULL
L->next = p; //连接链表
}
这里是单链表反转的图示过程:
</