可以画个图来解释一下链表反转吗,我自己总是搞不明白,谢了,越详细越好,代码在这里
Status ListReverse(LinkList L)
{
LinkList current,pnext,prev;
if(L == NULL || L->next == NULL)
return L;
current = L->next; /* p1指向链表头节点的下一个节点 /
pnext = current->next;
current->next = NULL;
while(pnext)//当pnext不为空时,执行以下代码
{
prev = pnext->next;
pnext->next = current;
current = pnext;
pnext = prev;
printf("交换后:current = %d,next = %d \n",current->data,current->next->data);
}
//printf("current = %d,next = %d \n",current->data,current->next->data);
L->next = current; /当pnext为空时,将链表头节点指向p1 */
return L;
}这个代码对吗,请附个图,多谢